Prince (ранее Prince XML ) — это компьютерная программа, которая преобразует документы XML и HTML в файлы PDF с помощью каскадных таблиц стилей (CSS). Prince — это коммерческий продукт, который можно бесплатно загрузить и использовать в некоммерческих целях. [5]
Prince поддерживает все распространенные веб-стандарты, включая HTML, CSS и JavaScript, посредством собственного кода. То есть Prince не основан на браузерном движке , а реализует собственный движок.
Prince может создавать доступные PDF-файлы, соответствующие профилю PDF/UA (ISO 14289, международный стандарт для доступных технологий PDF), которые могут использоваться людьми с ассистивными технологиями. [6]
Prince поддерживает множество языков, включая тайский, индийские алфавиты (хинди, бенгали, тамильский и т. д.) [7] и алфавиты с письмом справа налево, такие как арабский и иврит.
Prince разработан YesLogic, небольшой компанией, базирующейся в Мельбурне, Австралия . С 2004 года председателем правления является Хокон Виум Ли , один из создателей CSS.
В апреле 2003 года был выпущен Prince 1.0 с базовой поддержкой XHTML , каскадных таблиц стилей (CSS), масштабируемой векторной графики (SVG) и произвольного XML . Эта первая версия представляла собой программу командной строки , поддерживающую Microsoft Windows и Linux ; графического интерфейса пользователя для Windows еще не было .
В декабре 2005 года Prince 5.1 прошел тест Acid2 от Web Standards Project . [8] Это был третий пользовательский агент , прошедший тест, после Safari и Konqueror .
В июне 2012 года в Prince 8.1 добавлена поддержка HTML5.
В последующих выпусках поддержка CSS постоянно расширялась, как для обеспечения сопоставимой поддержки с веб-браузерами (такими как Opera и Firefox ), так и для добавления поддержки функций, специфичных для печати, таких как разрывы страниц и сноски.
Prince доступен для нескольких платформ, включая Windows , Linux , macOS , FreeBSD и Solaris . Доступны оболочки для Java SE , .NET Framework , ActiveX , PHP , Ruby on Rails и Node.js , которые помогают интегрировать Prince в веб-сайты и приложения.
Prince был разработан в основном с использованием языка функционального логического программирования Mercury .
Основной движущей силой Prince является стандарт CSS3-paged [9] , который интегрирует спецификацию макета постраничного мультимедиа (включая PDF) с любыми другими технологиями W3C: HTML4 , HTML5 , XHTML и «свободным XML », работающими или нет с JavaScript .
Дополнительные экспериментальные возможности для печати (например, политики сносок, определение размера области выхода за обрез страницы, когда включены метки обрезки, создание бегущих верхних и нижних колонтитулов страниц и т.п.) стандартизируются в разделе «Создаваемый контент для постраничных медиафайлов» (css). -gcpm-3) Модуль CSS.
Prince имеет хорошую поддержку CSS с упором на печать: лучше, чем веб-браузеры, для модулей CSS, предназначенных для печати, таких как вышеупомянутые css-page-3 и css-gcpm-3; в то время как поддержка других модулей хороша по сравнению с другими пользовательскими агентами, не использующими движок веб-браузера, но не всегда так же хорошо, как веб-браузеры: [10] например, CSS Flexible Box Model была добавлена в Prince 12 (2018), тогда как CSS Grid Layout ( css-grid-1) пока нет в Prince 14.
Prince поддерживает большую часть ECMAScript 5-го издания, но не строгий режим. Более поздние версии ECMAScript практически не поддерживаются. [10]