Prince (software)

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

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

Since version 12, it has been able to 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.

It 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.


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.

Before June 2012, Prince could only consume XML, but since the release of Prince 8.1 with an HTML parser, Prince can print web documents from HTML as well as XML and SVG.

In subsequent releases, CSS support was steadily extended until it was comparable with web browsers such as Opera and Firefox. It has also been expanded to support additional platforms—the latest offering include packages for 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.

Feature Releases[edit]

  • Prince 13.0 - November 2019[9]
  • Prince 12.5 - April 2019[10]
  • Prince 12.1 - August 2018[11]
  • Prince 12.0 - June 2018[12]
  • Prince 11.0 - December 2016
  • Prince 10.0 - May 2015
  • Prince 9.0 - June 2013
  • Prince 8.0 - September 2011
  • Prince 7.1 - May 2010
  • Prince 7.0 - October 2009
  • Prince 6.0 rev 8 - February 2009
  • Prince 6.0 rev 1 - May 2007
  • Prince 5.1 rev 15 - March 2007
  • Prince 5.1 - December 2005
  • Prince 5.0 rev 5 - December 2005
  • Prince 5.0 - October 2005
  • Prince 4.0 - October 2004
  • Prince 3.1 - May 2004
  • Prince 3.0 - December 2003
  • Prince 2.1 - June 2003
  • Prince 2.0 - May 2003
  • Prince 1.0 - April 2003

Technical summary[edit]

Prince was developed using the Mercury functional logic programming language.

The main driving force behind Prince is the standard CSS3-paged[13] 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).[14]

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


Further reading[edit]

  • Making accessible tagged PDFs with Prince, 16 July 2019
  • Steward, Sid. PDF Hacks: 100 Industrial-Strength Tips & Tools. O'Reilly. ISBN 0-596-00655-1.
  • Fitzgerald, Michael. XML Hacks: 100 Industrial-Strength Tips & Tools. O'Reilly. ISBN 0-596-00711-6.
  • 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[edit]