Prince (software)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Prince
Original author(s)Michael Day[1]
Developer(s)YesLogic Pty Ltd
Initial releaseApril 2003
Stable release
13 / November 2019; 1 year ago (2019-11)[2]
Preview release
20191023 / 23 October 2019; 16 months ago (2019-10-23)[3]
Written inMercury, Rust[4]
Operating systemWindows, macOS, Linux, Solaris, FreeBSD
TypeFile format converter
LicenseFreemium
Websitewww.princexml.com

Prince (formerly Prince XML) is a computer program that converts XML and HTML documents into PDF files by applying Cascading Style Sheets (CSS). Prince is a commercial product, which is free to download and use for non-commercial purposes.[5]

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, but implements its own engine in the Mercury programming language.

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.[6]

Prince supports many languages, including Thai, Indic scripts (Hindi, Bengali, Tamil, etc.)[7] and right-to-left scripts like Arabic and Hebrew.

Prince is developed by YesLogic, a small company based in Melbourne, Australia. Since 2004, Håkon Wium Lie, the co-creator of CSS, has been chairman of the board.

History[edit]

In April 2003, Prince 1.0 was released, with basic support for XHTML, Cascading Style Sheets (CSS), Scalable Vector Graphics (SVG), and arbitrary XML. This first version was a command-line program that supported Microsoft Windows and Linux; there was no graphical user interface for Windows yet.

In December 2005, Prince 5.1 passed the Acid2 test from the Web Standards Project.[8] It was the third user agent to pass the test, after Safari and Konqueror.

In June 2012, Prince 8.1 added support for HTML5.

In subsequent releases, CSS support has steadily been extended, both to have comparable support with web browsers (such as Opera and Firefox), and to add support for print-specific features, like page breaks and footnotes.

Prince is available for several plaforms, including Windows, Linux, macOS, FreeBSD, and Solaris. Wrappers are available for Java SE, .NET Framework, ActiveX, PHP, Ruby on Rails and Node.js to help integrate Prince into websites and apps.

Technical summary[edit]

Prince was developed using the Mercury functional logic programming language.

The main driving force behind Prince is the standard CSS3-paged[9] that integrates paged media (including PDF) layout specification with any other W3C technologies: HTML4, HTML5, XHTML, and "free XML", working or not with JavaScript.

Prince has good support for CSS (including CSS Flexible Box Model, from Prince 12) with proprietary extensions for print-related functionality not currently in the CSS standard (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).[10]

Prince supports most of ECMAScript 5th edition, but not strict mode. Later editions of ECMAScript are not supported.[10]

References[edit]

  1. ^ Michael Day: I am the founder of YesLogic and the designer of Prince, software for getting web content onto paper.
  2. ^ "Prince - Release Notes for Prince 13". www.princexml.com.
  3. ^ "Prince - Latest builds". www.princexml.com.
  4. ^ "Announcing the Allsorts Font Shaping Engine". yeslogic.com.
  5. ^ "Prince - End User License Agreement". www.princexml.com.
  6. ^ "Prince 12 released! - Prince forum". www.princexml.com.
  7. ^ "Devanagari vowel sign support - Prince forum". www.princexml.com.
  8. ^ Prince 5.1 Passes Acid2 Web Standards Project announcement, December 10, 2005
  9. ^ CSS Paged Media Module Level 3, W3C
  10. ^ a b "doc-refs · Prince Documentation". www.princexml.com.

Further reading[edit]

External links[edit]