{{Short description|Computer language}} {{More citations needed|date=May 2020}} In [[digital printing]], a '''page description language''' ('''PDL''') is a computer language that describes the appearance of a printed page in a higher level than an actual output [[bitmap]] (or generally [[raster graphics]]). An overlapping term is '''printer control language''', which includes Hewlett-Packard's [[Printer Command Language]] (PCL). [[PostScript]] is one of the most noted page description languages. The [[markup language]] adaptation of the PDL is the page description markup language.
Page description languages are text (human-readable) or binary data streams, usually intermixed with text or graphics to be printed. They are distinct from graphics [[application programming interface]]s (APIs) such as [[Graphics Device Interface|GDI]] and [[OpenGL]] that can be called by software to generate graphical output.
==Notable examples== Various page description languages exist: <!-- Only add examples that are notable enough to have their own Wikipedia article. See [[WP:N]]. --> * [[Advanced Function Presentation|AFP]], Advanced Function Presentation ([[IBM]]) * Apple Raster, formerly known as URF, used by the [[AirPrint]] protocol.<ref>{{cite web |title=Driverless Printing Standards And their PDLS |url=https://openprinting.github.io/driverless/01-standards-and-their-pdls/ |website=OpenPrinting |language=en |date=29 April 2022}}</ref> * [[Canon Inc.|Canon]] GARO, Graphic Arts language with Raster Operations (for large format printers), based on [[Hewlett-Packard]] PCL3GUI / RTL and CPCA job description language.<ref>{{cite web|title=White Paper - Canon imagePROGRAF PAGE DESCRIPTION LANGUAGES (PDLS)|url=http://www.cmrepro.com/documents/CanonUnderstandingPDLs.pdf|archive-url=https://web.archive.org/web/20131228134307/http://www.cmrepro.com/documents/CanonUnderstandingPDLs.pdf|url-status=dead|archive-date=28 December 2013|publisher=Canon|access-date=13 June 2013}}</ref> * Common Ground page definition language * CPCL, Comtec Printer Control Language (now Zebra) * [[DjVu]], a mixed raster content (MRC) format supporting OCR-based scanned documents ([[AT&T Labs]]) * DPL, Datamax Printer Language (now [[Honeywell#Acquisitions|Honeywell]])<ref>{{cite book |last1=Honeywell, Inc. |title=DPL command Reference|date=2021 |url=https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/ppr/ja/public/products/printers/common/documents/sps-ppr-dpl-88-2360-01-b.pdf |access-date=August 7, 2022}}</ref> * DTPL, Datamax Ticket Printer Language * [[DVI file format|DVI]], Device Independent, output from [[TeX]] * E411, Emulation 411, for Ticketing and Flight Strip (ATC) systems (IER) * EPL, Eltron Programming Language (now Zebra) * [[Envoy (WordPerfect)|Envoy]] page description language ([[WordPerfect]]) * [[ESC/P]], [[Epson]] Standard Code for Printers, simple language mainly used in [[dot matrix printer]]s * ESC/P2, an expanded version of ESC/P * ESC/Page, Epson Standard Code for Page Printer, a page description language (distinct from ESC/P) used in a number of Epson laser printers, especially Japanese models * [[ESC/POS]], [[Epson]] Standard Code for [[Point of sale|POS]] printers * FGL, Friendly Ghost Language (Boca Systems) printers * Fingerprint, a programming language, Direct Protocol is subset of Fingerprint ([[Intermec]]) * [[HP-GL]] and HP-GL/2, geometric language introduced by [[Hewlett-Packard]] for pen plotters, still in use today for technical drawings * [[Interpress]] ([[Xerox]]) * IJPDS, Ink Jet Printer Data Stream ([[Kodak]]) * [[IBM Intelligent Printer Data Stream|IPDS]], Intelligent Printer Data Stream (IBM) * IGP/PGL, [[Printronix]] Graphics Language * IPL, Intermec Printer Language, a programming language for [[Intermec]] printers (now a subsidiary of [[Honeywell#Acquisitions|Honeywell]]) * KPDL, [[Kyocera]] Page Description Language * LCDS/Metacode, a print stream format used in older high-speed printers ([[Xerox]]) * [[MODCA]], Mixed Object Document Content Architecture (IBM) * MTPL, Mannesmann Tally Printer Language * [[Printer Command Language|PCL]], Printer Command Language ([[Hewlett-Packard]]) * [[Portable Document Format|PDF]], Portable Document Format ([[Adobe Systems]]), now ISO 32000<ref>{{Cite web |url=http://www.iso.org/iso/news.htm?refid=Ref1141 |title=PDF format becomes ISO standard |access-date=2015-02-02 |archive-url=https://web.archive.org/web/20160303234754/http://www.iso.org/iso/news.htm?refid=Ref1141 |archive-date=2016-03-03 |url-status=dead }}</ref> * [[PostScript]] ([[Adobe Systems]]) * [[IBM Personal Printer Data Stream|PPDS]], Personal Printer Data Stream * [[Refined Printing Command Stream|RPCS]], Refined Printing Command Stream ([[Ricoh]]) * RTL (Raster Transfer Language, also known as PCL3GUI). Raster graphic command subset of Hewlett-Packard HP-GL/2, similar to PCL. * Star Line Mode, variant of ESC/POS used by [[Star Micronics]] printers * SPL, Samsung Printer Language<ref>{{cite web|last1=Croc|first1=Aurélien|title=SPL Specifications|url=https://splix.sourceforge.net/specs.html|website=SpliX Drivers for your printer|access-date=Feb 26, 2018|archive-url=https://web.archive.org/web/20180407050923/http://splix.sourceforge.net/specs.html|archive-date=April 7, 2018|url-status=dead}}</ref> * [[Scalable Vector Graphics|SVG]], an XML-based graphics description language primarily developed for the [[World Wide Web]] * Canon SG Raster (Swift Graphics Raster for large format printers), based on Hewlett-Packard PCL3GUI / RTL and IVEC (XML formatted job description language) * TSPL/TSPL2, Taiwan Semiconductor Printing/Programming Language ([[TSMC]]) * TTP, print language by Swecoin for kiosk printers (now Zebra) * UFR (Ultra Fast Rendering), a proprietary language (Canon) * XES, [[Xerox Escape Sequence]] * [[Open XML Paper Specification|XPS]], Open XML Paper Specification introduced in Windows Vista ([[Microsoft]]) * ZJS, ZjStream Page Description Language (Zenographics) * ZPL, [[Zebra (programming language)|Zebra Programming Language]] ([[Zebra Technologies]])
==See also== *[[List of vector graphics markup languages]] *[[Markup language]] *[[Printer Job Language]]
==References== {{Reflist}}
==External links== *[https://web.archive.org/web/20070104033902/http://www.undocprint.org/formats/page_description_languages Undocumented Printing] *[https://web.archive.org/web/20200218185432/http://www2.nefec.org/UPM/ilang.htm Ultimate Printer Manual] *[https://web.archive.org/web/20060603084839/http://www.iana.org/assignments/printer-language-numbers Printer MIB Interpreters Language Families] *[https://web.archive.org/web/20131228152246/http://www-01.ibm.com/software/webservers/hostondemand/library/infocentergafinal/hod/en/doc/hostprint/hostprintref.html Host Printing Reference] — contains example for PPDS *[http://knowledgebase.lexmark.com/pubfiles/files/PATTLNK_2182005_1515-PPDS%20Escape%20Codes.pdf PPDS Escape codes] {{Webarchive|url=https://web.archive.org/web/20090909133822/http://knowledgebase.lexmark.com/pubfiles/files/PATTLNK_2182005_1515-PPDS%20Escape%20Codes.pdf |date=2009-09-09 }} *[https://web.archive.org/web/20020830075425/http://ddk.zeno.com/Reference/ZjStream/Default.htm ZjStream Reference]
{{Programming paradigms navbox}}
[[Category:Page description languages| ]] [[Category:Computer printers]] [[Category:Computer printing]]