Prince XML
Prince (ранее Prince XML) — компьютерная программа преобразующая XML и HTML документы в PDF формат путем применения каскадных таблиц стилей (CSS). Идея программы заключается в том чтобы распечатывать страницы интернета (формат PDF с самого начала разработки ориентирован на печать на бумаге) с форматированием и вёрсткой приближенными по качеству к материалам свёрстанным профессиональными дизайнерами в настольных издательских системах. Prince — коммерческий продукт, который можно бесплатно скачать и использовать в некоммерческих целях. Prince разработан YesLogic, — небольшой компанией, базирующейся в Мельбурне (Австралия). С 2004 года Хокон Виум Ли, (учёный, со-создатель CSS), является председателем правления компании YesLogic.
Prince | |
---|---|
Автор | Michael Day[1] |
Разработчик | YesLogic Pty. Ltd. |
Написана на | Mercury |
Операционная система | Microsoft Windows, Mac OS X, Linux, Solaris, FreeBSD |
Первый выпуск | Апрель 2003 |
Последняя версия | 13.5 (Март 2020[2]) |
Лицензия | Проприетарная |
Сайт | princexml.com |
Prince поддерживает все распространённые веб-стандарты (включая HTML, CSS, XHTML, XML, SVG, JavaScript и др.), исполняя код страниц посредством собственного движка. То есть рендеринг страниц в Prince не основан на движке какого-либо браузера, и реализуется через собственный движок на языке программирования Mercury.
Prince может создавать PDF-файлы, соответствующие профилю PDF/UA (ISO 14289).
Prince поддерживает многие языки, в том числе тайскую, индийскую письменность (языки: хинди, бенгальский, тамильский и др.) и левостороннюю письменность (используется такими языками как арабский и иврит).
История
Prince написан на языке программирования функциональной логики Mercury (Меркурий).
В апреле 2003 года был выпущен Prince 1.0 с базовой поддержкой XHTML, каскадных таблиц стилей (CSS), масштабируемой векторной графики (SVG) и произвольного XML. Эта первая версия была программой для работы из командной строки (консоли), которая поддерживала операционные системы Microsoft Windows и Linux; графический интерфейс пользователя для Windows в то время ещё отсутствовал.
В декабре 2005 года Prince 5.1 прошел Acid2 тест из проекта Web Standards Project. Это был третий User agent, прошедший тест, после Safari и Konqueror.
В июне 2012 года в Prince 8.1 добавлена поддержка стандарта HTML5.
В последующих выпусках поддержка CSS постоянно расширялась как для обеспечения сопоставимой поддержки с веб-браузерами (такими как Opera и Firefox), так и для добавления поддержки специфичных для печати функций, таких как разрывы страниц и сноски (примечания).
Prince доступен для нескольких платформ, включая Microsoft Windows, Linux, MacOS, FreeBSD и Solaris. Для помощи по интегрированию Prince в веб-сайты и приложения доступны оболочки под Java SE, .NET Framework, ActiveX, PHP, Ruby on Rails и Node.js.
Технические детали
Основной движущей силой Prince является стандартный CSS3-paged, который интегрирует спецификацию макета paged media (включая PDF) с любыми другими технологиями W3C: HTML4, HTML5, XHTML, и "свободный XML", работающий или не работающий с JavaScript.
Prince имеет хорошую поддержку CSS (включая CSS Flexible Box Model (Модель Гибкой Коробки), от Prince 12-й версии (2018 год)), с проприетарными расширениями для связанных с печатью функций, которые в настоящее время не включены в стандарт CSS (например: политики сносок, специфика размера области выпуска страницы при включении меток обрезки («Область выпуска за обрез»), создание заголовков и нижних колонтитулов текущей страницы и т.п.).
Prince поддерживает большую часть ECMAScript 5-го издания, но не строгий режим. Более поздние версии ECMAScript не поддерживаются