Перейти к содержимому
getnextpdf.com

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 = []): array

NextPDF\Pro\Stream\Engine\ConcurrentRenderEngine восстанавливает порядок входных данных, поэтому байты вывода совпадают с последовательным рендерингом независимо от параллелизма. Он завершается с ошибкой NextPDF\Pro\Stream\Exception\RenderEngineException при отсутствующем, дублированном или неизвестном завершении — никогда молчаливым отбрасыванием. Мы не публикуем здесь никаких чисел бенчмарков; протестируйте собственную нагрузку во время пробного периода.

«Создаёт ли акселератор жёсткую зависимость от нативного кода?» Нет. Сайдкар — это необязательное соединение, и провайдер сообщает о доступности, а не выбрасывает исключение:

public function isAvailable(): bool
public function embedding(): EmbeddingServiceInterface
public 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 добавляет накладные расходы на декодирование, обычно небольшие; мы не публикуем универсального бенчмарка. Протестируйте собственные документы во время пробного периода, прежде чем закрепляться за каналом.
  • Оценочный вывод содержит водяной знак. Оценочные сборки запускают каждую возможность, но заметно брендируют свой вывод; они не подходят для производственной поставки. Платная лицензия убирает водяной знак без изменения кода.
  1. Начните пробный период. 14-дневный бесплатный пробный период доступен из вашего аккаунта — один на email, без оплаты сегодня, и он не продлевается автоматически. Заложите требование бесплатного загрузчика ionCube для закодированных сборок, в том числе в CI.
  2. Проведите ограниченный пилот. Установите через Composer, интегрируйте один реальный поток документов позади ваших существующих контрактов, запустите свой набор тестов и протестируйте свою нагрузку. Оценка запускает полный набор возможностей за удаляемым водяным знаком, поэтому от оценки ничего не скрыто.
  3. Выберите канал поставки. Решите между закодированным ionCube и подписанным исходным кодом исходя из ваших требований к связи и аудиту — смотрите Два канала поставки.
  4. Запросите свой лицензионный конверт. Покупка проходит через наш Merchant of Record; ваша лицензия предоставляется PATEON по EULA. Начните на лицензионном портале.