Prince (software)
{{One source|date=December 2019}}
{{Infobox software
| name = Prince
| developer = YesLogic Pty Ltd
| released = April 2003
| discontinued =
| latest release version = {{wikidata|property|reference|P348}}
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| latest preview version = 20191023
| latest preview date = {{Start date and age|2019|10|23|df=yes/no}}{{Cite web|url=https://www.princexml.com/latest/|title=Prince - Latest builds|website=www.princexml.com|access-date=2019-11-01|archive-date=2019-11-01|archive-url=https://web.archive.org/web/20191101055318/https://www.princexml.com/latest/|url-status=live}}
| programming language = Mercury, Rust{{Cite web|url=https://yeslogic.com/blog/allsorts-rust-font-shaping-engine/|title=Announcing the Allsorts Font Shaping Engine|website=yeslogic.com|access-date=2021-02-18|archive-date=2020-12-18|archive-url=https://web.archive.org/web/20201218024411/https://yeslogic.com/blog/allsorts-rust-font-shaping-engine/|url-status=live}}
| operating system = Windows, macOS, Linux, Solaris, FreeBSD
| platform =
| size =
| language =
| genre = File format converter
| license = Freemium
| website = {{url|https://www.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.{{Cite web|url=https://www.princexml.com/license/|title=Prince - End User License Agreement|website=www.princexml.com|access-date=2019-11-05|archive-date=2019-11-01|archive-url=https://web.archive.org/web/20191101055345/https://www.princexml.com/license/|url-status=live}}
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.
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.{{Cite web|url=https://www.princexml.com/forum/topic/3925/prince-12-released|title=Prince 12 released! - Prince forum|website=www.princexml.com|access-date=2018-08-29|archive-date=2020-08-13|archive-url=https://web.archive.org/web/20200813113229/https://www.princexml.com/forum/topic/3925/prince-12-released|url-status=live}}
Prince supports many languages, including Thai, Indic scripts (Hindi, Bengali, Tamil, etc.){{Cite web|url=https://www.princexml.com/forum/topic/4099/devanagari-vowel-sign-support?p=1#21332|title=Devanagari vowel sign support - Prince forum|website=www.princexml.com|access-date=2019-11-05|archive-date=2022-08-11|archive-url=https://web.archive.org/web/20220811204142/https://www.princexml.com/forum/topic/4099/devanagari-vowel-sign-support?p=1#21332|url-status=live}} 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
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.[http://www.webstandards.org/2005/12/10/prince-51-passes-acid2/ Prince 5.1 Passes Acid2] {{Webarchive|url=https://web.archive.org/web/20061227173647/http://www.webstandards.org/2005/12/10/prince-51-passes-acid2/ |date=2006-12-27 }} Web Standards Project announcement, December 10, 2005 It was the third user agent to pass the test, after Safari and Konqueror.
In June 2012, Prince 8.1 added support for [https://html.spec.whatwg.org/multipage/parsing.html 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 platforms, 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
Prince was developed primarily using the Mercury functional logic programming language.
The main driving force behind Prince is the standard CSS3-paged[http://www.w3.org/TR/css3-page/ CSS Paged Media Module Level 3] {{Webarchive|url=https://web.archive.org/web/20101201160450/http://www.w3.org/TR/css3-page/ |date=2010-12-01 }}, W3C that integrates paged media (including PDF) layout specification with any other W3C technologies: HTML4, HTML5, XHTML, and "free XML", working or not with JavaScript.
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 the [http://www.w3.org/TR/css-gcpm-3/ 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:{{Cite web|url=https://www.princexml.com/|title=doc-refs · Prince Documentation|website=www.princexml.com|access-date=2018-08-29|archive-date=2018-09-02|archive-url=https://web.archive.org/web/20180902004501/https://www.princexml.com/|url-status=live}} 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
{{Reflist}}
Further reading
- [https://medium.com/@bruce_39084/making-accessible-tagged-pdfs-with-prince-ad7fd7a48711 Making accessible tagged PDFs with Prince], 16 July 2019
- {{cite book|first=Sid|last=Steward|title=PDF Hacks: 100 Industrial-Strength Tips & Tools|url=http://www.oreilly.com/catalog/pdfhks/|publisher=O'Reilly|isbn=0-596-00655-1}}
- {{cite book|first=Michael|last=Fitzgerald|title=XML Hacks: 100 Industrial-Strength Tips & Tools|url=http://www.oreilly.com/catalog/xmlhks/|publisher=O'Reilly|isbn=0-596-00711-6}}
- [https://web.archive.org/web/20110909053207/http://railsmagazine.com/issues/6 Interview with Michael Day of Prince XML] by Olimpiu Metiu, Page 33, Published at: June 28, 2010, Rails Magazine
- [https://www.youtube.com/watch?v=vcXUrNSvjhU Prince XML: Generating High Quality PDFs from HTML + CSS], 15 Nov 2007, GoogleTechTalks, YouTube Video
External links
- {{official website|https://www.princexml.com}}
{{ebooks}}