Premium редакция
Для инженерных руководителей
Вы оцениваете коммерческую зависимость, с которой ваша команда будет жить годами. Эта страница отвечает на вопросы, которые инженерные руководители задают нам перед покупкой: затраты на интеграцию, политика обновлений, привязка, поставка, свидетельства качества и поверхности масштабирования. Каждое утверждение либо проверяемо в исходном коде продукта, либо ведёт на страницу документации, которая за него отвечает. NextPDF не имеет никакой сторонней сертификации, и ничто здесь не является заявлением о соответствии или сертификации.
Это руководство охватывает обе коммерческие редакции — NextPDF Pro
(nextpdf/pro) и NextPDF Enterprise (nextpdf/enterprise); доступность по
редакциям смотрите в
матрице возможностей. Обе активируются
лицензионным конвертом; развёртывание без соответствующего права доступа не
загружает премиум-классы этой редакции.
Сравните редакции и получите лицензию.
Редакции кумулятивны. NextPDF Pro включает всё, что есть в открытом ядре, а
NextPDF Enterprise включает всё, что есть в Pro. Несколько описанных ниже
поверхностей поставляются в тарифе Pro (nextpdf/pro), поэтому они есть и в
Enterprise.
Что вы покупаете
Заголовок раздела «Что вы покупаете»Версия на 30 секунд. NextPDF — это движок PDF 2.0 для современного PHP; формат, который он пишет, — тот, что задан ISO 32000-2. Ядро движка — с открытым исходным кодом под Apache License 2.0. NextPDF Pro и NextPDF Enterprise — это проприетарные коммерческие редакции поверх него: диаграммы, продвинутые штрихкоды, подписание, инструменты соответствия, операции с документами и описанные ниже поверхности масштабирования. Полное разделение по редакциям смотрите в матрице возможностей.
Для вашей команды покупка приобретает три вещи. Во-первых, возможности, которые было бы дорого создавать и поддерживать своими силами. Во-вторых, инженерную планку, которую вы можете проверить: PHPStan уровня 10, архитектурные ограничения и очень большой набор тестов. В-третьих, ограниченный риск снизу — и три состояния выхода различны. Развёртывание по каналу ionCube, находящееся офлайн дольше срока своей аренды, приостанавливает премиум-функции и откатывается к бесплатному Core с открытым исходным кодом до повторного подключения. Истёкшая подписка проходит через льготный период в бессрочное резервное состояние: установленная версия продолжает работать со своим премиум-правом доступа, но без дальнейших обновлений. А сбой контроля соблюдения никогда не выводит развёртывание из строя — худший случай — это поведение Core. Коммерческая механика описана в Покупка и лицензирование.
Вопросы, которые мы слышим чаще всего
Заголовок раздела «Вопросы, которые мы слышим чаще всего»«Сколько усилий на интеграцию мне заложить?»
Один пакет Composer и лицензия. Премиум-редакции устанавливаются через
composer require nextpdf/pro или composer require nextpdf/enterprise в
зависимости от вашей редакции (метапакет nextpdf/premium устанавливает обе) из
приватного репозитория с использованием учётных данных, выданных после покупки.
Требование среды выполнения — PHP >=8.4 <9.0. Внедрение не требует изменений
кода приложения: Premium подключается позади тех же публичных контрактов, на
которые уже нацелено ваше приложение, как описано в
Лицензирование и активация. Настройка описана в
Установка и аутентификация.
«Что ломается при обновлении?»
Обратно несовместимые изменения существуют, и мы их документируем, а не прячем.
Репозиторий Premium отслеживает каждое BC-влияющее изменение в примечаниях к
обновлению по каждому выпуску с указанием пути миграции, а его инструментарий
включает roave/backward-compatibility-check. Некоторые изменения намеренны:
пути валидации безопасности ужесточаются по принципу fail-closed вместо того,
чтобы оставаться разрешительными, и примечания прямо об этом говорят. Заложите
время на чтение примечаний к обновлению перед каждым выпуском; не закладывайте
время на молчаливый дрейф поведения.
«Есть ли у нас привязка к поставщику?» Выход структурен, а не является договорной доброй волей. Ядро — Apache-2.0, поэтому ваша интеграция нацелена на контракты, которые сохраняются и без подписки. Когда платная подписка заканчивается, наступает льготный период, затем бессрочное резервное состояние: установленная версия продолжает работать, и прекращаются лишь обновления и поддержка. Вы никогда не теряете доступ к ПО, которое уже развернули. Подробности — в Лицензирование и активация и модели лицензирования.
«Может ли моя команда читать код, который мы запускаем?» Да, на подходящем канале. Premium поставляется двумя способами: закодированным ionCube (более дешёвый вариант по умолчанию) и подписанным открытым исходным кодом — читаемый PHP, криптографически подписанный, по более высокой цене. Оба несут идентичные лицензионные права, и читаемый исходный код никогда не является разрешением на копирование или распространение; оба регулируются EULA. Полное сравнение — в Два канала поставки.
«Какие сигналы качества я действительно могу проверить?» Кодовая база Premium разрабатывается на PHPStan уровня 10 с расширением строгих правил по всему исходному коду Pro и Enterprise, плюс архитектурные ограничения слоёв Deptrac. Репозиторий содержит более 1500 тестовых файлов в модульных, интеграционных, конформных и compliance-наборах, а его скрипты мутационного тестирования задают порог минимального балла мутаций 95%. Это факты репозитория разработки, которые вы можете подтвердить на канале подписанного исходного кода, — не сторонние аудиты и не сертификации.
«Каковы поверхности производительности и масштабирования?»
Три, и все — необязательные слои, а не переписывания. Акселератор — это
Rust-сайдкар, потребляемый через контрактные интерфейсы Core. Конвейер вывода
(NextPDF\Pro\OutputPipeline\PipelineExecutor) выполняет многошаговые манифесты
документов с разрешением зависимостей. Потоковый движок детерминированно
рендерит параллельные пакеты:
public function renderBatch(array $manifests, array $variablesByJobId = []): arrayNextPDF\Pro\Stream\Engine\ConcurrentRenderEngine восстанавливает порядок
входных данных, поэтому байты вывода совпадают с последовательным рендерингом
независимо от параллелизма. Он завершается с ошибкой
NextPDF\Pro\Stream\Exception\RenderEngineException при отсутствующем,
дублированном или неизвестном завершении — никогда молчаливым отбрасыванием. Мы
не публикуем здесь никаких чисел бенчмарков; протестируйте собственную нагрузку
во время пробного периода.
«Создаёт ли акселератор жёсткую зависимость от нативного кода?» Нет. Сайдкар — это необязательное соединение, и провайдер сообщает о доступности, а не выбрасывает исключение:
public function isAvailable(): boolpublic function embedding(): EmbeddingServiceInterfacepublic function vectorIndex(string $collectionId = 'default'): VectorIndexInterfaceЭти методы не объявляют @throws; о достижимости сайдкара сообщает
isAvailable(). Возвращаемые типы — контрактные интерфейсы Core
(NextPDF\Contracts\EmbeddingServiceInterface,
NextPDF\Contracts\VectorIndexInterface), и это на практике и есть шов без
изменений кода.
«Что происходит офлайн или в изолированной сети?» Это зависит от канала, и обычно именно это решающий фактор. Канал ionCube проверяет свою лицензию онлайн — примерно 7-дневная проверка, продлевающая приблизительно 14-дневную аренду. Офлайн дольше срока аренды премиум-функции приостанавливаются, и движок откатывается к бесплатному Core, возобновляясь при возврате связи. Канал подписанного исходного кода проверяет свою лицензию локально и работает полностью офлайн, включая изолированные сети. Смотрите Два канала поставки.
«Что отправляет проверка лицензии?» На канале ionCube проверка отправляет только идентификатор лицензии и солёный хеш отпечатка — никогда содержимое ваших документов. Полностью офлайновое развёртывание с подписанным исходным кодом не отправляет ничего вовсе. Поверхность решения о лицензии — это единственный публичный вычислитель, о котором может рассуждать ваша команда платформы:
public function evaluate(?LicenseKey $license, ?DateTimeImmutable $now = null): EntitlementResultОн не объявляет @throws; каждое состояние лицензии, включая полное отсутствие
лицензии, отображается в EntitlementResult, а не в исключение.
«Кто нас поддерживает и как нам начать?» Продуктовая и техническая помощь исходит от поддержки PATEON; выставление счетов, инвойсы и возвраты обрабатывает наш Merchant of Record — смотрите к кому обращаться. Вы можете начать 14-дневный бесплатный пробный период из вашего аккаунта или запросить оценочный грант, запускающий полный набор возможностей за удаляемым водяным знаком.
Контрольный список требований
Заголовок раздела «Контрольный список требований»Честные «может» и «не может», со страницей, которая владеет каждым фактом.
| Ваше требование | Может ли NextPDF это обеспечить? | Свидетельство и владелец |
|---|---|---|
| Современная среда PHP | Да — требуется PHP >=8.4 <9.0. Более ранние версии PHP не поддерживаются. | Продуктовый composer.json; Установка и аутентификация |
| Стандартная упаковка | Да — приватные пакеты Composer: nextpdf/pro или nextpdf/enterprise по редакции (nextpdf/premium устанавливает оба тарифа), с учётными данными, выданными после покупки. | Покупка и лицензирование |
| Внедрение без переписывания | Да — без изменений кода приложения; Premium разрешается позади контрактов Core, которые вы уже вызываете. | Лицензирование и активация |
| Планка статического анализа | Да — разрабатывается на PHPStan уровня 10 со строгими правилами по всему исходному коду Pro и Enterprise. | Продуктовый phpstan.neon.dist |
| Дисциплина тестирования | Да — 1500+ тестовых файлов; мутационное тестирование с порогом минимального MSI 95% в скриптах репозитория. | Продуктовые скрипты composer.json и дерево тестов |
| Управление обратной совместимостью | Частично — BC-изменения случаются и намеренны для fail-closed исправлений безопасности; каждое документируется с путём миграции. | Продуктовый UPGRADING.md |
| Работа в изолированной сети | Да на подписанном исходном коде; канал ionCube ограничен своей ~14-дневной арендой. | Два канала поставки |
| Читаемый исходный код | Да — только канал подписанного исходного кода, по более высокой цене; чтение не даёт прав на распространение. | Два канала поставки, EULA |
| Формальная сертификация | Нет. NextPDF не имеет сертификации и не предоставляет её; поддержка стандарта не является соответствием или сертификацией. | Эта страница; модель лицензирования |
| Обязательное нативное ускорение | Не требуется — Rust-сайдкар необязателен; проверяйте через ProAcceleratorProvider::isAvailable(). | Исходный код продукта, показанный выше |
Риски и меры их снижения
Заголовок раздела «Риски и меры их снижения»- Истечение аренды ionCube. Развёртывание по закодированному каналу, офлайн дольше срока своей аренды, приостанавливает премиум-функции и откатывается к Core, возобновляясь при переподключении. Если ваша сетевая обстановка не может гарантировать периодическую связь, выберите канал подписанного исходного кода вместо этого.
- Намеренные BC-изменения. Валидация, значимая для безопасности, ужесточается по принципу fail-closed между выпусками. Закрепляйте версии, читайте примечания к обновлению перед каждым повышением и запускайте BC-проверку в CI. Не считайте обновления «drop-in».
- Отсутствие сертификации. Мы заявляем о возможностях, никогда о сертификации. Если ваша программа требует сертифицированного соответствия, проверяйте вывод собственным приёмочным инструментарием, прежде чем полагаться на него, — ни одна страница документации NextPDF этого не заменяет.
- Производительность зависит от нагрузки. Загрузчик ionCube добавляет накладные расходы на декодирование, обычно небольшие; мы не публикуем универсального бенчмарка. Протестируйте собственные документы во время пробного периода, прежде чем закрепляться за каналом.
- Оценочный вывод содержит водяной знак. Оценочные сборки запускают каждую возможность, но заметно брендируют свой вывод; они не подходят для производственной поставки. Платная лицензия убирает водяной знак без изменения кода.
Что запросить далее
Заголовок раздела «Что запросить далее»- Начните пробный период. 14-дневный бесплатный пробный период доступен из вашего аккаунта — один на email, без оплаты сегодня, и он не продлевается автоматически. Заложите требование бесплатного загрузчика ionCube для закодированных сборок, в том числе в CI.
- Проведите ограниченный пилот. Установите через Composer, интегрируйте один реальный поток документов позади ваших существующих контрактов, запустите свой набор тестов и протестируйте свою нагрузку. Оценка запускает полный набор возможностей за удаляемым водяным знаком, поэтому от оценки ничего не скрыто.
- Выберите канал поставки. Решите между закодированным ionCube и подписанным исходным кодом исходя из ваших требований к связи и аудиту — смотрите Два канала поставки.
- Запросите свой лицензионный конверт. Покупка проходит через наш Merchant of Record; ваша лицензия предоставляется PATEON по EULA. Начните на лицензионном портале.