PrinceXML Server: возможности Prince для серверной генерации PDF
Под названием PrinceXML Server обычно понимают серверное применение форматтера Prince от YesLogic: тот же движок Prince устанавливается на сервер, вызывается из командной строки, через официальные обёртки или управляющий протокол и превращает HTML/XML с CSS в PDF. На сентябрь 2026 года отдельного продукта или отдельного установщика с именем «PrinceXML Server» у разработчика нет: актуальная стабильная версия — Prince 16.2, выпущенная в январе 2026 года, а слово Server относится прежде всего к сценарию развёртывания и лицензированию. Это важное уточнение: серверная лицензия, Commercial Site License, Desktop License, облачные API DocRaptor/EuroPDF и ветка Prince for Books имеют разное назначение и не должны восприниматься как редакции одного интерфейса.
| Параметр | Актуальное состояние |
|---|---|
| Продукт | Prince 16.2 от YesLogic Pty Ltd; «PrinceXML Server» — распространённое обозначение серверного использования |
| Назначение | Автоматическая генерация PDF из HTML/XHTML/XML с CSS, изображениями, SVG и при необходимости JavaScript |
| Стабильная версия | 16.2, январь 2026 года |
| Платформы | Windows, macOS, Linux, FreeBSD; есть пакеты для x86-64 и ряда ARM64-сред, а также AWS Lambda и Docker-сценарии |
| Основной интерфейс на сервере | Командная строка, wrapper-библиотеки, JSON Job и Prince Control Protocol |
| Вход | HTML/XHTML/XML, CSS, локальные файлы и HTTP/HTTPS-ресурсы; изображения и SVG как ресурсы документа |
| Выход | PDF, включая профили PDF/A, PDF/UA и PDF/X; доступна также растеризация |
| Бесплатный режим | Разрешён для тестирования и некоммерческого использования, но с идентифицирующим уведомлением в PDF и лицензионными ограничениями |
| Коммерческое серверное использование | Commercial Site License по индивидуальному предложению; публичная стартовая ориентировочная цена — около 2000 долларов США в год для стартапов |
| Per-Server License | 3800 долларов США за один сервер; предлагается государственным и другим некоммерческим организациям, 12 месяцев обновлений и поддержки включены |
Скачать PrinceXML Server
Новейшая версия для Виндовс, macOS и Линукс. Удобный редактор PDF под российские реалии.
Безопасный путь получения серверного движка — официальная страница загрузок Prince. Для стабильной ветки на дату подготовки обзора там предлагается Prince 16.2. Отдельной кнопки «Server» нет: сервер и рабочая станция используют один и тот же форматтер, а допустимый способ эксплуатации определяется лицензией. Для production-среды разумно брать стабильную 16.2, а не pre-release-сборку: на сайте YesLogic есть предварительные сборки 2026 года, но они прямо предназначены для знакомства с функциями в разработке.
Для Windows опубликованы MSI и ZIP-пакеты для 64-битной, 32-битной и ARM64-архитектур. Для macOS доступен Universal Binary. Linux-линейка существенно шире: официальная страница перечисляет Ubuntu 20.04–26.04, Debian 11–13, AlmaLinux 8–10, openSUSE 15.6, Alpine 3.19–3.23, Generic Linux, варианты x86-64 и ARM64 там, где они предусмотрены. Отдельно присутствуют пакет для AWS Lambda и сборки FreeBSD 13–15. Это не означает, что любой дистрибутив автоматически поддерживается одинаково: при развёртывании лучше выбирать пакет, совпадающий с семейством, версией ОС и архитектурой, либо Generic Linux, если он подходит по зависимостям.
Скачивание самой программы не требует покупки: YesLogic разрешает использовать её для тестирования и для некоммерческих задач на условиях EULA. Покупка нужна не для доступа к инсталлятору, а для снятия ограничений соответствующего лицензионного режима. Регистрация аккаунта для простого скачивания стабильного установочного пакета на официальной странице не заявлена как обязательная. Лицензионный файл для платной редакции присылается покупателю и затем устанавливается локально на сервере.
Что такое PrinceXML Server
Prince — коммерческий форматтер HTML/XML в PDF, разработанный, поддерживаемый и продаваемый австралийской компанией YesLogic Pty Ltd. Его задача отличается от обычного PDF-редактора: пользователь не открывает готовый PDF и не перетаскивает блоки мышью, а описывает документ веб-разметкой и CSS, после чего движок выполняет пагинацию, типографику и формирование PDF. Серверный сценарий превращает эту операцию в часть приложения, сайта, документооборота или пакетного конвейера.
Название «PrinceXML» исторически закрепилось в адресе сайта и в экосистеме, но официальные страницы текущей версии называют программу Prince. «Prince Server License» в EULA — тип лицензии, а не иной движок. Для компаний, которые генерируют коммерческие документы клиентам, YesLogic сейчас продвигает Commercial Site License: она позволяет запускать Prince на нужном числе серверов в собственном кластере или облаке, причём стоимость зависит от характера и объёма генерации. Классическая Per-Server License на публичной странице оставлена для государственных учреждений и других некоммерческих сервисов.
Важно также не путать локально установленный Prince с «Prince as a Service». YesLogic прямо указывает DocRaptor и EuroPDF как облачные API, предоставляющие доступ к технологии Prince без локальной установки. В локальном варианте исходные HTML, стили, шрифты и данные могут оставаться внутри собственной инфраструктуры; при использовании внешнего API документы передаются стороннему сервису и действуют его политика, тарифы и архитектура.
Основные функции PrinceXML Server
Печатная верстка на HTML и CSS
Сильная сторона Prince — CSS для постраничного вывода. Движок умеет формировать размеры и ориентацию страниц, поля, колонтитулы, номера страниц, именованные страницы, разрывы, колонки, сноски, перекрёстные ссылки и генерируемое содержимое. Это позволяет хранить шаблон как HTML/CSS рядом с кодом приложения и отделять данные от оформления. Для отчётов, договоров, счетов, спецификаций и каталогов такая модель особенно удобна, когда документ собирается из структурированных данных и должен воспроизводиться автоматически.
Шрифты, изображения, SVG и математика
В текущей документации заявлена поддержка WOFF/WOFF2, TrueType и OpenType, а также коллекций шрифтов. Можно подключать шрифты через CSS @font-face, использовать локальные или сетевые ресурсы, встраивать и подмножествовать шрифты в PDF. Для документов на разных языках важно явно задавать язык и подходящее семейство: движок умеет работать с Unicode и языковыми правилами, а для русского в поставке присутствуют шаблоны переносов.
JavaScript и многопроходная компоновка
JavaScript в исходном документе по умолчанию не выполняется — его нужно явно включать. Это полезное безопасное поведение для серверной среды. Поддержка ориентирована на задачи печатной компоновки: скрипт может менять DOM, строить оглавления и индексы, сортировать данные, подготавливать графики и выполнять действия, для которых одного CSS недостаточно. Документация предупреждает, что реализован в основном ECMAScript 5; ES6 поддерживается не полностью, поэтому шаблон, рассчитанный на современный Chromium, нельзя считать автоматически совместимым с Prince.
Профили PDF, доступность и полиграфия
Prince формирует PDF вплоть до версии 1.7 в зависимости от функций и профиля. Поддерживаются PDF/A-1a/1b, PDF/A-2a/2b, PDF/A-3a/3b, PDF/UA-1, несколько вариантов PDF/X, а также комбинации PDF/A с PDF/UA. Профиль задаёт не просто метку: он включает или запрещает свойства, необходимые стандарту. Например, профили с требованиями к доступности включают тегированный PDF, а PDF/X вводит ограничения, связанные с печатным обменом, цветом и шрифтами.
Формы, закладки, вложения и защита PDF
HTML-формы можно преобразовывать в интерактивные поля PDF с отдельным флагом. Поддерживаются закладки, внутренние и внешние ссылки, метаданные, XMP и вложения; в Prince 16 появились дополнительные возможности описания отношений вложенных файлов, полезные для стандартизированных составных документов. Закладки можно строить из структуры заголовков и управлять их уровнем.
Есть шифрование PDF, пароли пользователя и владельца, запреты печати, копирования, аннотирования и изменения. Однако текущая документация Prince указывает RC4 с ключами 40 или 128 бит. Это важное ограничение для современных политик информационной безопасности: встроенные разрешения PDF удобны как функция совместимости, но там, где обязательны современные криптографические требования, целесообразно отдельно проверить корпоративный стандарт и при необходимости применять последующую обработку специализированным инструментом.
Серверные API, журналирование и контроль качества
Типовой серверный вызов можно сделать обычным процессом prince, но для интеграции предусмотрены wrapper-библиотеки, в актуальном разделе загрузок перечислены Java, C#/.NET, PHP, Ruby on Rails и Node.js. Для собственного адаптера доступны JSON Job, Prince Control Protocol и структурированный журнал. Control Protocol держит процесс запущенным и принимает последовательные задания через stdin/stdout, поэтому приложение может обходиться без запуска нового процесса для каждого документа. Протокол синхронный: ответы соответствуют запросам по порядку.
Интерфейс и удобство использования
На сервере интерфейс Prince — прежде всего командная строка и конфигурация приложения. Графическая оболочка есть только для Windows и предназначена скорее для интерактивного запуска и отладки шаблонов; на Linux, macOS и FreeBSD рабочим интерфейсом остаётся терминал. Поэтому оценивать удобство Prince по критериям настольного PDF-редактора неверно: здесь важнее предсказуемость CLI, документация параметров, возможность сериализовать задание и получать машинно читаемый журнал.
Базовый порог входа невысок для веб-разработчика: минимальная операция сводится к HTML-файлу и команде преобразования. Настоящая сложность начинается в типографике — правилах @page, повторяющихся областях, переносах, сносках, цветовых профилях, PDF/UA и поведении больших таблиц. Разработчику, знакомому только с экранным CSS, придётся отдельно освоить paged media. Для администратора добавляются вопросы изоляции процесса, доступа к сети и локальным файлам, шрифтов, лицензии и контроля ресурсов.
Поддерживаемые форматы и совместимость
На входе Prince ориентирован не на офисные файлы, а на веб-разметку: HTML, XHTML и XML. CSS задаёт оформление, JavaScript при явном разрешении меняет документ до или во время раскладки. Источник может быть локальным файлом или HTTP/HTTPS-URL. Если нужен DOCX, XLSX, ODT или готовый PDF как редактируемый исходник, Prince не является их универсальным конвертером: документ сначала нужно преобразовать в подходящую HTML/XML-модель или использовать другой инструмент.
Графические ресурсы включают JPEG, PNG, GIF, TIFF, WebP, AVIF и SVG. Поддержка SVG не равна полной реализации современного браузера, поэтому сложные SVG с неподдерживаемыми функциями стоит проверять на конкретном шаблоне. Для сетевых ресурсов движку нужны доступ к URL, корректные сертификаты и предсказуемые пути. Относительные ссылки зависят от базового адреса и местоположения исходного документа.
Производительность и стабильность
YesLogic не публикует универсальные цифры «страниц в секунду», и корректно обещать конкретную скорость без теста собственного шаблона нельзя. Документация описывает масштабирование как в целом линейное для стандартного Prince: дополнительная вычислительная мощность позволяет запускать больше работы. При высокой параллельности разработчик отдельно рекомендует рассмотреть отключение внутренней параллельной растеризации параметром raster-threads=1 и аналогично ограничить потоки сборщика мусора через переменную окружения, чтобы несколько экземпляров не конкурировали за все ядра.
На время рендеринга влияют не только число страниц, но и изображения, удалённые ресурсы, шрифты, сложность CSS, JavaScript и число проходов раскладки. Большие GIF могут потреблять заметную память; в Prince 16.2 разработчики отдельно сообщили о снижении памяти при загрузке многофреймовых GIF и об ускорении расчёта прогресса на крупных документах. В этой же версии исправлена проблема управления памятью, способная приводить к сбою с некоторыми цветными/emoji-шрифтами. Это показывает, что для production важно отслеживать release notes, а не закреплять старую сборку бессрочно.
Для стабильности конвейера полезны структурированный лог и fail-safe режим. Если сетевой шрифт не загрузился, ресурс вернул ошибку или нужный глиф отсутствует, бесшумная генерация «почти правильного» PDF может быть хуже явного отказа. В критичных документах стоит включать проверки, которые превращают такие условия в ошибку задания, и сохранять журнал вместе с идентификатором запроса.
Лицензирование и версии
Prince 16.2 можно скачать бесплатно для тестирования и некоммерческого применения. Это не обычный неограниченный freeware-режим. EULA разрешает non-commercial license для задач, не являющихся частью денежной транзакции и не создающих связанного дохода. Сгенерированные PDF содержат уведомление, идентифицирующее Prince; лицензиат не должен удалять его. При регулярной раздаче таких PDF через сайт условия также требуют заметных ссылок на princexml.com, а при отправке вложений по электронной почте — указания адреса сайта в тексте письма.
Для коммерческой серверной генерации — например, счетов, предложений или документов, отправляемых клиентам, — YesLogic указывает Commercial Site License. Она годовая, включает обновления и поддержку и допускает нужное количество серверов в собственном кластере или облаке. Публичный ориентир начинается примерно с 2000 долларов США в год для стартапов, но итоговая цена зависит от типа и объёма документов и выдаётся по запросу. Это не фиксированный тариф для любого проекта.
Per-Server License стоит 3800 долларов США за один сервер и сейчас публично предлагается государственным учреждениям и другим некоммерческим организациям, создающим документы для внутреннего или бесплатного распространения. В цену входят 12 месяцев обновлений и email-поддержки. Одна такая лицензия разрешает production на одном сервере и установку ещё на двух машинах для тестирования и разработки. Отдельная Academic Server License стоит 1900 долларов США. После первого года Server Support на ещё 12 месяцев заявлен по цене 950 долларов США, Academic Server Support — 475 долларов.
Desktop License за 495 долларов США предназначена для интерактивного использования одним пользователем на одном компьютере — для самопубликации или внутренних документов. Она не подходит для веб-приложения или удалённой серверной автоматизации. OEM, SaaS и другие варианты распространения оговариваются отдельно. Prince for Books — отдельная ветка с функциями для книжной верстки, а не «Server Pro».
Системные требования
YesLogic не публикует для Prince 16.2 универсального минимума по объёму RAM и числу ядер. Поэтому при планировании сервера правильнее опираться на поддерживаемую ОС и измерения своего набора шаблонов. В FAQ по Commercial Site License отдельно сказано, что тип сервера не ограничивается памятью, частотой, процессорами или ядрами, но это лицензионное разрешение, а не гарантия производительности на любой конфигурации.
Windows
Для Prince 16.2 доступны 64-битные, 32-битные и ARM64-пакеты в форматах MSI и ZIP. Графический интерфейс есть только на Windows; серверный процесс можно запускать без него. Актуальная инструкция установки указывает около 16 МБ дискового пространства для самой установки, однако реальные требования проекта выше из-за шрифтов, временных файлов, логов и генерируемых PDF.
macOS
1. Скачайте Universal Binary Prince 16.2, распакуйте пакет и в Terminal запустите install.sh; для установки в системный каталог по умолчанию потребуется sudo.
2. При нестандартном каталоге добавьте bin в PATH. Для платной лицензии разместите license.dat в каталоге лицензии и проверьте prince —version.
Linux и FreeBSD
1. Выберите deb, rpm, apk или tar.gz под свой дистрибутив и архитектуру; Generic Linux используйте только после проверки совместимости зависимостей.
2. Установите пакет штатным менеджером или скриптом из архива. Типичное размещение — /usr/bin/prince и ресурсы в /usr/lib/prince.
3. Проверьте наличие библиотек, шрифтов и CA-сертификатов, особенно в минимальном контейнере; затем установите license.dat при платной лицензии.
4. До подключения к веб-приложению выполните локальный рендер и только после него настраивайте wrapper или Control Protocol.
Карта критических зависимостей
| Зависимость | Что ломается при отсутствии | Что контролировать |
|---|---|---|
| Лицензия | Некоммерческий режим с уведомлением либо нарушение допустимого сценария | Тип использования, срок поддержки, размещение license.dat или лицензионного ключа |
| Шрифты | Подмена гарнитуры, отсутствующие глифы, изменение переносов и пагинации | Версии файлов, права встраивания, доступность в контейнере |
| CSS и шаблоны | Неверная верстка, разрывы, колонтитулы, таблицы | Версионирование, регрессионные эталоны, совместимость после обновления Prince |
| Сеть | Не загружаются URL, изображения, шрифты или стили | Разрешённые хосты, тайм-ауты внешнего слоя, сертификаты, режим —no-network |
| Локальная ФС | Ресурсы не читаются либо, наоборот, появляется лишняя поверхность доступа | Минимальные права, —no-local-files для недоверенного ввода, контейнерная изоляция |
| JavaScript | Не строятся вычисляемые элементы или появляются долгие много проходов | Включать только при необходимости, ограничивать число проходов |
| PDF-профиль | Файл не проходит требования архива, доступности или типографии | Fail-safe, внешний валидатор, контроль шрифтов и тегов |
Для недоверенного HTML особенно важны границы доступа. По умолчанию Prince имеет доступ к локальным файлам. Официальная документация рекомендует использовать —no-local-files для неуправляемого ввода и —no-network, если документ не должен ходить по HTTP. XML external entities и XInclude не следует включать без необходимости. Более сильная защита — отдельный контейнер, jail, VM или другой sandbox с минимальными правами.
Преимущества и недостатки PrinceXML Server
Плюсы и минусы
• Сильная печатная модель CSS. Prince рассчитан именно на paged media, а не на имитацию браузерной печати.
• Серверная автоматизация. CLI, wrappers, JSON Job, Control Protocol и структурированные логи подходят для приложений и очередей.
• Профессиональные PDF-профили. Есть PDF/A, PDF/UA, PDF/X, тегирование, вложения, метаданные и формы.
• Локальное развёртывание. Исходные документы можно обрабатывать в собственной инфраструктуре без обязательной отправки в облако.
• Широкая платформенная матрица. Windows, macOS, несколько семейств Linux, FreeBSD, ARM64, AWS Lambda и контейнерные сценарии.
• Средства контроля качества. Fail-safe параметры и capture/replay упрощают диагностику ошибок генерации.
Минусы
• Стоимость и сложное лицензирование. Коммерческий серверный сценарий требует коммерческой лицензии, а публичная Per-Server цена не относится к обычному коммерческому SaaS.
• Нет визуального редактора шаблонов как основной модели. Нужны знания HTML/CSS и часто серверной разработки.
• JavaScript не равен современному Chromium. ES6 поддерживается не полностью, поэтому браузерный код может потребовать адаптации.
• PDF — конечный результат. Prince не заменяет редактор существующих PDF и не импортирует DOCX как полноценную модель редактирования.
• Безопасность требует настройки. У движка по умолчанию есть доступ к локальным файлам, а сетевые ресурсы создают дополнительную поверхность риска.
• Встроенное PDF-шифрование консервативно. Документация указывает RC4 40/128 бит, что не подходит как универсальное решение современных криптографических требований.
Сравнение с аналогами
| Решение | Модель | Сильная сторона | Ограничение относительно Prince |
|---|---|---|---|
| Prince 16.2 | Локальный коммерческий движок/CLI | CSS Paged Media, PDF/A/UA/X, серверные API, точная печатная верстка | Платная коммерческая лицензия, нужен HTML/CSS |
| WeasyPrint | Свободный Python-движок BSD | Открытый код, Python API, современная поддержка ряда PDF-вариантов | Другая реализация CSS и свой набор ограничений; миграция шаблонов требует проверки |
| PDFreactor | Коммерческий web service/library | HTML/CSS-to-PDF для enterprise, локальный REST-сервис и Java library | Отдельная лицензия и собственная продуктовая модель |
| Puppeteer | Node.js API к Chromium | Современный браузерный JavaScript и близость к веб-странице | Печатная типографика и специализированные PDF-профили не являются его основной специализацией |
| DocRaptor | Облачный API на базе Prince | Не нужно администрировать Prince, та же технологическая база рендеринга | Передача данных внешнему сервису и тариф за использование |
WeasyPrint логичен, если важны открытый код и Python-стек: актуальная документация описывает HTML/CSS-to-PDF, PDF/A, PDF/UA, PDF/X и формы, но это самостоятельный движок, поэтому фирменные CSS-расширения Prince и сложные макеты нельзя переносить без регрессионной проверки. PDFreactor ближе к Prince по классу задач: у него есть локальный Web Service и библиотека, а production требует собственной лицензии.
Puppeteer стоит рассматривать, когда приоритет — соответствие Chromium, современный JavaScript и печать уже существующего веб-интерфейса. Его Page.pdf() умеет размер бумаги, поля, фоны, header/footer и другие параметры, но специализация Prince шире именно в издательской пагинации и профилях PDF. DocRaptor, напротив, использует Prince в облаке: функционально это самый близкий вариант без локального администрирования.
Sumatra PDF находится в другой категории: это просмотрщик готовых документов, а не генератор. После серверной сборки результат Prince можно читать в Sumatra PDF или другом viewer. Если задача — править уже готовый PDF вручную, логичнее смотреть на Adobe Acrobat Pro или PDF-XChange Editor. Для настольного создания PDF через печать существуют PDF24 Creator и doPDF, а для офисных документов — LibreOffice. Ни один из этих вариантов не является прямой заменой серверной CSS-верстке Prince.
Инструкция по установке
Windows Server и Windows
1. С официальной страницы Prince 16 скачайте MSI или ZIP для win64, win32 либо win-arm64; для обычной установки удобнее MSI.
2. Запустите MSI с административными правами, примите EULA и оставьте стандартный каталог, если нет требований к собственному размещению.
3. Проверьте командный движок prince.exe в каталоге engine\bin. Для серверной автоматизации Windows GUI не нужен.
4. Если приобретена лицензия, установите license.dat, затем выполните тестовое HTML→PDF-задание и проверьте код завершения и журнал.
macOS
1. Скачайте Universal Binary Prince 16.2 и распакуйте архив.
2. В Terminal перейдите в распакованный каталог и запустите install.sh. Для системного каталога по умолчанию используйте sudo.
3. Если выбрана нестандартная директория, добавьте её bin в PATH.
4. Скопируйте license.dat в каталог лицензии установленного Prince, если используется платная лицензия, и проверьте prince —version.
Linux и FreeBSD
1. Выберите deb, rpm, apk или tar.gz, точно соответствующий дистрибутиву и архитектуре. Для неподходящих стандартных пакетов рассмотрите Generic Linux только после проверки зависимостей.
2. Установите пакет средствами дистрибутива или запустите поставляемый installation script для архива. Типичное размещение на Linux/FreeBSD — /usr/bin/prince и ресурсы в /usr/lib/prince.
3. Убедитесь, что в среде доступны необходимые библиотеки, шрифты и CA-сертификаты. В минимальном контейнере их приходится добавлять явно.
4. Поместите license.dat в каталог lib/prince/license для платной установки и запустите prince —version для проверки.
5. До подключения к веб-приложению выполните локальный тестовый рендер и только затем настройте wrapper или управляющий протокол.
Параметры, которые важно настроить сразу
Перед первой серьёзной задачей задайте границы доступа: нужен ли процессу интернет, нужны ли локальные файлы и действительно ли требуется JavaScript. Для недоверенного ввода включите —no-local-files, а при автономных шаблонах — —no-network. Не активируйте XML external entities и XInclude без подтверждённой необходимости. В критичных шаблонах включите подходящие fail-safe проверки и структурированный лог.
Удаление зависит от способа установки: на Windows используйте штатный механизм удаления MSI, на пакетных Linux-системах — менеджер пакетов, для архивной установки следуйте расположению, которое выбрали при install.sh. Перед удалением сохраните license.dat, шаблоны, шрифты с правом резервного хранения, конфигурацию wrapper и информацию о версии. Сгенерированные PDF не зависят от наличия Prince после создания.
Практические кейсы
Автоматическая генерация счёта из HTML-шаблона
Цель — получать PDF-счёт из данных приложения. Подготовьте семантический HTML, CSS страниц и шрифтов и подставляйте данные до запуска Prince. Для коммерческих счетов нужен коммерческий лицензионный сценарий; non-commercial license для документов денежной транзакции не подходит.
1. Приложение формирует HTML в памяти или во временном файле и подставляет номер, строки и итоги.
2. Prince вызывается через wrapper, JSON Job или CLI с явным выходным именем.
3. Сетевой доступ отключается, если все ресурсы локальны; для входа от клиента ограничивается доступ к локальной файловой системе.
4. После генерации приложение проверяет код завершения, fail-safe события и наличие ожидаемых метаданных.
Проверка: сверить номер и суммы, открыть PDF независимым viewer и убедиться во встраивании шрифтов. Ограничение: бизнес-данные должны храниться отдельно от производного PDF.
Архивный отчёт в PDF/A
Цель — выпустить архивный отчёт. Выберите нужный PDF/A-профиль и заранее исключите несовместимые функции: шифрование для PDF/A запрещено, вложения допустимы не во всех вариантах.
1. Сформируйте HTML с заголовками, таблицами и метаданными.
2. Запустите Prince с требуемым pdf-profile и fail-safe проверкой ошибок профиля.
3. Сохраните структурированный лог вместе с идентификатором версии шаблона.
4. Пропустите готовый файл через независимый валидатор профиля, если соответствие стандарту является формальным требованием организации.
Проверка: успешный валидатор, открываемость и совпадение контрольных данных. PDF/A не заменяет политику архивного хранения.
Доступный PDF/UA для публикации
Цель — получить тегированный документ для ассистивных технологий. Исходный HTML должен иметь корректные заголовки, списки, таблицы, alt-тексты и логичный порядок чтения.
1. Выберите профиль PDF/UA-1 или совместимую комбинацию с PDF/A.
2. Проверьте, какие элементы автоматически получают теги, и при необходимости уточните типы через свойства Prince.
3. Не используйте визуальные трюки CSS вместо семантики: экранный вид не гарантирует корректный tag tree.
4. После генерации проверьте структуру PDF специализированным средством доступности и чтением с клавиатурой/скринридером в принятом организацией наборе тестов.
Проверка: оценить теги, порядок текста и alt-описания внешним средством. Автоматическое тегирование не исправляет семантически плохой HTML.
Навигатор по сбоям
| Симптом | Первая проверка | Вероятная причина | Безопасное действие |
|---|---|---|---|
| Пропали изображения или CSS | Structured log и URL ресурсов | Сеть запрещена, неверный base URL, TLS/HTTP ошибка | Исправить источник или явно разрешить нужный хост; не отключать проверки TLS без крайней необходимости |
| Изменились переносы и страницы | Версии шрифтов и язык документа | Подмена шрифта, отсутствующие глифы, другая версия шаблона | Закрепить шрифты, включить fail-missing-glyphs, сравнить эталон |
| Задание работает слишком долго | JavaScript, max-passes, удалённые ресурсы | Многопроходный цикл или медленная сеть | Ограничить проходы, убрать внешние зависимости, применить внешний timeout процесса |
| PDF не проходит профиль | Fail-safe и сообщения profile/tag | Запрещённая функция, цвет, шрифт или тег | Исправить шаблон либо выбрать профиль, соответствующий реальному назначению |
| Ошибка только в контейнере | Библиотеки, шрифты, CA-сертификаты, пути | Слишком минимальный образ | Добавить недостающую зависимость, не выдавая процессу лишних прав |
Часто задаваемые вопросы
PrinceXML Server и Prince — это разные программы?
Нет. В актуальной линейке YesLogic основной продукт называется Prince. Серверная эксплуатация использует тот же форматтер; различаются способ интеграции и лицензия. Отдельного установщика «PrinceXML Server 16.2» нет.
Можно ли использовать бесплатную версию на сервере?
Да, EULA допускает non-commercial license на компьютере, доступном любому числу конечных пользователей, но только для некоммерческих целей. PDF содержит идентифицирующее уведомление, действуют дополнительные условия для регулярной публикации и рассылки. Счета, платные сервисы и коммерческие клиентские документы требуют другой лицензии.
Отправляет ли локальный Prince документы в облако YesLogic?
Локальная установка выполняет рендеринг на своей машине; документация описывает прямую работу с локальными и сетевыми ресурсами, а облачные DocRaptor/EuroPDF выделены как отдельные сервисы. Однако сам шаблон может загружать удалённые ресурсы, если сеть разрешена, поэтому приватность зависит и от конфигурации документа.
Может ли Prince конвертировать DOCX или редактировать существующий PDF?
Это не его основной формат. Входная модель — HTML/XML с CSS, а выход — PDF. Для DOCX нужен предварительный экспорт/преобразование, а для ручного редактирования существующего PDF — отдельный редактор.
Можно ли создавать PDF/A и PDF/UA одновременно?
Да, документация перечисляет комбинированные профили PDF/A-1a+PDF/UA-1, PDF/A-2a+PDF/UA-1 и PDF/A-3a+PDF/UA-1. Совместимость конкретных функций всё равно нужно проверять, а формальные требования — валидировать внешним средством.
Есть ли REST API внутри Prince?
Встроенный основной интерфейс — CLI, wrappers и управляющий протокол. Если нужен готовый облачный REST API без администрирования движка, YesLogic указывает сторонние сервисы на базе Prince. Локальный REST-слой можно реализовать в собственном приложении, вызывая wrapper или Control Protocol.
Вывод
PrinceXML Server — точнее, серверное развёртывание Prince 16.2 — подходит разработчикам и организациям, которым нужна воспроизводимая генерация сложных PDF из HTML/XML: отчётов, счетов, договоров, каталогов, архивных PDF/A, доступных PDF/UA и печатных PDF/X. Его главные аргументы — специализированная CSS-пагинация, развитые PDF-функции, локальное выполнение и зрелые способы интеграции с серверным кодом.
Он менее уместен, если нужен визуальный редактор готовых PDF, конвертация офисных файлов без промежуточного HTML, полностью современный Chromium JavaScript или бесплатная коммерческая серверная эксплуатация. Для Python-проектов без бюджета на коммерческий движок стоит оценить WeasyPrint; для браузерно-точного рендера — Puppeteer; для API без собственной инфраструктуры — DocRaptor; для ручного редактирования уже созданного PDF — настольный редактор. Sumatra PDF дополняет такой процесс как быстрый просмотрщик результата, но решает другую задачу и не конкурирует с Prince в генерации документов.