HOME

TheInfoList



OR:

Prince (formerly Prince XML) is a computer program that converts
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
and
HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
documents into
PDF Portable document format (PDF), standardized as ISO 32000, is a file format developed by Adobe Inc., Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, computer hardware, ...
files by applying Cascading Style Sheets (CSS). Prince is a commercial product, which is free to download and use for non-commercial purposes. Prince supports all common web standards, including HTML, CSS and JavaScript, through its own code. That is, Prince is not based on a
browser engine A browser engine (also known as a layout engine or rendering engine) is a core software component of every major web browser. The primary job of a browser engine is to transform HTML documents and other resources of a web page into an interacti ...
, but implements its own engine. Prince can generate accessible PDFs conforming to the PDF/UA profile (ISO 14289, the International Standard for accessible PDF technology) that can be used by people with assistive technologies. Prince supports many languages, including Thai, Indic scripts (Hindi, Bengali, Tamil, etc.) and right-to-left scripts like Arabic and Hebrew. Prince is developed by YesLogic, a small company based in
Melbourne, Australia Melbourne ( , ; Boonwurrung/ or ) is the capital and most populous city of the Australian state of Victoria, and the second most-populous city in Australia, after Sydney. The city's name generally refers to a metropolitan area also known ...
. Since 2004, Håkon Wium Lie, the co-creator of CSS, has been chairman of the board.


History

In April 2003, Prince 1.0 was released, with basic support for
XHTML Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages which mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated. While HTML, pr ...
, Cascading Style Sheets (CSS), Scalable Vector Graphics (SVG), and arbitrary
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
. This first version was a command-line program that supported
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
and
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
; there was no
graphical user interface A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
for Windows yet. In December 2005, Prince 5.1 passed the Acid2 test from the Web Standards Project.Prince 5.1 Passes Acid2
Web Standards Project announcement, December 10, 2005
It was the third
user agent On the Web, a user agent is a software agent responsible for retrieving and facilitating end-user interaction with Web content. This includes all web browsers, such as Google Chrome and Safari A safari (; originally ) is an overland jour ...
to pass the test, after
Safari A safari (; originally ) is an overland journey to observe wildlife, wild animals, especially in East Africa. The so-called big five game, "Big Five" game animals of Africa – lion, African leopard, leopard, rhinoceros, African elephant, elep ...
and Konqueror. In June 2012, Prince 8.1 added support fo
HTML5
In subsequent releases, CSS support has steadily been extended, both to have comparable support with web browsers (such as
Opera Opera is a form of History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera") is typically ...
and
Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements curr ...
), and to add support for print-specific features, like page breaks and footnotes. Prince is available for several platforms, including
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
,
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
,
FreeBSD FreeBSD is a free-software Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version was released in 1993 developed from 386BSD, one of the first fully functional and free Unix clones on affordable ...
, and Solaris. Wrappers are available for Java SE, .NET Framework,
ActiveX ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide W ...
, PHP, Ruby on Rails and Node.js to help integrate Prince into websites and apps.


Technical summary

Prince was developed primarily using the Mercury functional logic programming language. The main driving force behind Prince is the standard CSS3-pagedCSS Paged Media Module Level 3
, W3C
that integrates paged media (including PDF) layout specification with any other W3C technologies: HTML4,
HTML5 HTML5 (Hypertext Markup Language 5) is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommend ...
,
XHTML Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages which mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated. While HTML, pr ...
, and "free
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
", working or not with
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
. More experimental facilities for print needs (for example, footnote policies, specifying the size of the bleed area of the page when crop marks are enabled, creating running page headers and footers and similar) are being standardized in th
Generated Content for Paged Media (css-gcpm-3)
CSS module. Prince has good support for CSS, with a print focus: better than web browsers for print-specific CSS modules such as the aforementioned css-page-3 and css-gcpm-3; while support other modules is good relative to other user agents not using a web browser engine but not always as well as web browsers: for example, CSS Flexible Box Model was added in Prince 12 (2018), whereas CSS Grid Layout (css-grid-1) is not yet present in Prince 14. Prince supports most of ECMAScript 5th edition, but not strict mode. Later editions of ECMAScript are largely not supported.


References


Further reading


Making accessible tagged PDFs with Prince
16 July 2019 * *
Interview with Michael Day of Prince XML
by Olimpiu Metiu, Page 33, Published at: June 28, 2010, Rails Magazine
Prince XML: Generating High Quality PDFs from HTML + CSS
15 Nov 2007, GoogleTechTalks, YouTube Video


External links

* {{ebooks Typesetting software XML software 2003 software Typesetting programming languages