Section
Tools & Formats
Reference explanations of printing-related tools, formats, and standards.
32 entries

Reference pages on document-system formats, queues, and protocols. The infrastructure layer that the printer connects to and the document moves through.
Document infrastructure map
The layer the document moves through
Formats, queues, and protocols connect the application to the page. These reference entries document the infrastructure beneath the visible printer.
- PDFThe portable document format the office standardised on.
- Searchable PDFA scanned image made selectable and indexable through OCR.
- OCROptical character recognition — turning an image of text into text.
- Print queueThe ordered line of jobs waiting for a shared device.
- Print spoolerThe service that holds and releases jobs to the device.
- Print driverThe translation layer between an application and a printer.
- Print serverThe system that administers a shared printer for many users.
- PostScriptThe page-description language behind PDF's lineage.
Future reference topics
- Document compression (ZIP / archive formats)
- File-format conversion
scanning standards
scanning standards
Tool
ISIS (Image and Scanner Interface Specification) Scanner Driver
ISIS (Image and Scanner Interface Specification) is a proprietary scanner-control and image-processing interface created by Pixel Translations and used primarily in production document capture, where its streaming "driver piping" architecture keeps high-speed scanners fully fed. Unlike the free TWAIN, WIA, and SANE standards, ISIS is royalty-bearing. Through corporate acquisitions the technology passed from Pixel Translations into Captiva Software, then into EMC's Enterprise Content Division (2005), and finally to OpenText, which acquired Dell EMC's ECD (announced September 2016, closed in early 2017) and continues to certify ISIS scanner drivers and license the related PixTools toolkits. ISIS is effectively a Windows interface and is concentrated in enterprise, high-end scanner environments.
Updated
scanning standards
Tool
eSCL / Driverless Scanning (AirScan, Mopria Scan)
eSCL is a driverless network scanning protocol that lets a client operate a scanner or the scan unit of a multifunction device over a network without installing a device-specific driver. Requests and responses travel over ordinary HTTP(S), scan parameters and device capabilities are expressed in XML, and devices are found automatically through DNS-SD over multicast DNS. The protocol originated at Hewlett-Packard and is published publicly by the Mopria Alliance; Apple surfaces it as AirScan and Mopria brands its ecosystem as Mopria Scan, but all refer to the same wire protocol. eSCL should not be confused with the separate PWG IPP Scan Service (PWG 5100.17) or Microsoft's WSD/WS-Scan.
Updated
scanning standards
Tool
ICA (Image Capture on macOS)
ICA is Apple's shorthand for the Image Capture Architecture, the macOS subsystem that lets applications discover and control image-input devices such as scanners, digital cameras, and multifunction devices over USB or the network. The name is shared by two things: the bundled Image Capture application, and the underlying frameworks and device-driver plug-ins ("device modules") beneath it. The current public programming surface is the ImageCaptureCore framework (headless) plus the ImageKit capture classes (ready-made UI), which Apple's documentation says replace the older Carbon-based Image Capture subframework introduced with OS X 10.6. For scanners the central class is ICScannerDevice. ICA gives macOS a single OS-level abstraction in place of fragmented per-vendor drivers, and increasingly brokers driverless network scanning (eSCL/AirScan) so many current scanners work with nothing installed.
Updated
scanning standards
Tool
SANE (Scanner Access Now Easy)
SANE (Scanner Access Now Easy) is an open application programming interface that provides uniform access to raster image acquisition hardware such as flatbed and sheet-fed scanners. It is both a public specification, the SANE Standard, and a reference implementation distributed mainly through the sane-backends and sane-frontends packages, and it is the de facto scanning framework on Linux and other Unix-like systems. Its defining idea is a clean split between frontends (applications that acquire images) and backends (drivers for specific devices), so each scanner needs only one driver that works with every SANE-compatible application. SANE exposes device capabilities as machine-readable option descriptors and leaves all user-interface presentation to the frontend, and it includes a network protocol (saned plus the net backend) for network-transparent scanning. Modern SANE increasingly reaches networked multifunction devices without per-model drivers through the in-tree escl backend and the external sane-airscan.
Updated
scanning standards
Tool
WIA (Windows Image Acquisition)
Windows Image Acquisition (WIA) is Microsoft's still-image acquisition platform for Windows, first shipped in Windows Me and Windows XP. It is both an application programming interface (API) used by imaging software and a device driver interface (DDI) implemented by hardware vendors, letting any WIA application communicate with any WIA-class scanner or camera through one standardized contract. WIA is implemented as a Component Object Model (COM) out-of-process server: applications issue requests to a system WIA service, which routes them to the correct vendor minidriver, isolating driver faults from the calling application. WIA 1.0 (Me/XP) supported scanners, digital still cameras, and digital video; WIA 2.0 (Windows Vista) refocused on scanners, adopted stream-based transfers, removed video support, and steered cameras and video toward Windows Portable Devices (WPD), while a compatibility layer keeps WIA 1.0 applications and devices working. WIA builds on the lower-level Still Image architecture (STI) and coexists with TWAIN through a compatibility layer. It remains the in-box Windows scanning API underlying Windows Fax and Scan, though the broader industry has moved toward driverless network scanning protocols such as eSCL and WSD Scan.
Updated
scanning standards
Tool
TWAIN
TWAIN is an application programming interface and communication protocol, maintained by the TWAIN Working Group, that standardizes how imaging software requests and receives images from scanners and, historically, digital cameras. Classic TWAIN uses a three-part model — application, Source Manager (DSM), and manufacturer-supplied Data Source — communicating through a C-language API governed by a state machine and capability negotiation. A newer companion standard, TWAIN Direct, replaces vendor drivers with a REST/JSON protocol for driverless, platform-independent, and networked scanning.
Updated
color and imaging
color and imaging
Tool
Raster Image Processor (RIP)
A raster image processor (RIP) is the component of a printing system that converts a page description written in a page-description language such as PostScript, PDF, or XPS into the raster image (bitmap) a marking engine uses to place dots on paper, film, or a plate. It bridges resolution-independent, device-independent page content and the fixed pixel grid of a physical output device, working in three broad stages: interpretation of the page description, rendering to a continuous-tone bitmap, and screening (halftoning) down to the levels the engine supports. A RIP may be software, printer firmware, or dedicated hardware, and it sits between prepress content creation and the marking engine in virtually every raster printing workflow.
Updated
color and imaging
Tool
Halftoning
Halftoning is the reprographic technique that reproduces a continuous-tone image on a device capable of laying down only a small, fixed set of ink or toner states by breaking the image into a pattern of dots that vary in size, spacing, or both. At normal viewing distance the eye spatially averages the dots, so fields of small or large dots read as intermediate grays; applied to each process ink it yields full-color reproduction. It underpins offset, gravure, flexography, and screen printing as well as bi-level laser and inkjet output, and is formalized in page-description languages such as PostScript and PDF through explicit screen and halftone controls.
Updated
color and imaging
Tool
CMYK Color Model
CMYK is the standard subtractive process-color model used in color printing. Its four inks — cyan, magenta, yellow, and K (the key/black plate) — are laid on a light substrate where they absorb portions of reflected light; the remaining reflected light is perceived as color. This is the inverse of the additive RGB model used by light-emitting displays. Because it is realized through physical inks on physical substrates, CMYK is device-dependent: identical CMYK numbers yield different measured colors on different presses, inks, and papers, so reproduction is governed by color-management systems and ICC profiles rather than by any single fixed RGB-to-CMYK formula.
Updated
color and imaging
Tool
ICC Color Profiles
ICC color profiles are standardized data files, defined by the International Color Consortium and published as ISO 15076-1, that characterize the color behavior of a device or color space so color can be translated consistently as it moves between devices, applications, and platforms. Each profile maps a device's native color space to a shared device-independent reference called the Profile Connection Space (PCS), letting independently authored profiles be chained at run time. Introduced in 1994 and honored by operating-system color frameworks, PDF, and RIPs, ICC profiles are the open foundation of cross-platform color management.
Updated
document standards
document standards
Tool
TIFF (Tagged Image File Format)
TIFF (Tagged Image File Format) is a tag-based container format for raster images, created in the mid-1980s desktop-publishing and desktop-scanning world. A TIFF file is a directory of tagged fields describing one or more images, with pixel data that may use any of several encodings and compression schemes. The current and last major version is Revision 6.0 (June 3, 1992), which split the format into Baseline TIFF and optional Extensions. Adobe, having acquired the original steward Aldus in 1994, holds the specification. TIFF is primarily a source/master and interchange format rather than a printer or page-description language, and remains a leading choice for high-fidelity master and archival imaging.
Updated
document standards
Tool
ISO 32000 (PDF)
ISO 32000 is the International Organization for Standardization's specification for the Portable Document Format (PDF), a page-oriented, self-contained electronic document format designed so documents can be exchanged and viewed independent of the environment in which they were created, viewed, or printed. It exists in two parts: ISO 32000-1:2008, which formalized Adobe's PDF Reference 1.7, and ISO 32000-2 (PDF 2.0), published in 2017 and reissued as a dated revision in 2020 — the first PDF version developed within ISO rather than by Adobe. Descended from Adobe's PostScript imaging model, PDF describes a fixed-layout document together with its fonts, graphics, and interactive structure so it renders consistently across platforms.
Updated
document standards
Tool
PDF/UA (ISO 14289)
PDF/UA ("PDF/Universal Accessibility"), standardized by ISO as ISO 14289, defines how the PDF format must be used so that documents work reliably with assistive technology such as screen readers, magnifiers, and braille displays. It is not a separate file format: a PDF/UA file is an ordinary PDF that additionally satisfies strict requirements, chiefly complete and correct tagging of content. Published in two parts — ISO 14289-1 (PDF/UA-1, first issued 2012) built on ISO 32000-1 (PDF 1.7), and ISO 14289-2 (PDF/UA-2, 2024) built on ISO 32000-2 (PDF 2.0) — the standard turns the optional "Tagged PDF" facility into a precise, testable conformance target. It specifies requirements on both conforming files and conforming readers, is vendor- and OS-neutral, and is commonly paired with WCAG for policy compliance and with PDF/A for archiving.
Updated
document standards
Tool
PDF/X
PDF/X is a family of ISO 15930 standardized subsets of the Portable Document Format engineered for reliable exchange of print-ready data in graphic arts and prepress. A PDF/X file is an ordinary PDF that satisfies extra constraints and carries mandatory metadata to eliminate the common causes of print failure: missing fonts, unpredictable color, and ambiguous page geometry. Each file conforms to exactly one declared conformance level, embedding fonts, constraining or color-managing color, declaring an output intent, and defining page boxes, while prohibiting features that make output non-deterministic. The family originated as ANSI CGATS.12/1-1999 and became the multi-part ISO 15930 series, spanning conservative flattened-CMYK exchange (PDF/X-1a) through modern color-managed, transparency-aware levels (PDF/X-4, PDF/X-6 on PDF 2.0).
Updated
document standards
Tool
PDF/A
PDF/A is the ISO 19005 archival profile of PDF. It constrains PDF into a self-contained, device-independent form so a document's visual appearance can be reproduced faithfully over the long term, regardless of the software or hardware used to create or render it.
Updated
printing protocols
printing protocols
Tool
Bonjour / mDNS Printer Discovery
Bonjour is Apple's implementation of zero-configuration networking, built on the IETF standards Multicast DNS (RFC 6762) and DNS-Based Service Discovery (RFC 6763). For printing, it is the discovery layer: printers advertise DNS-SD service records over mDNS on the local network, and clients browse for those records to build a list of available printers and learn what each one supports. It handles only discovery and addressing; a separate print protocol such as IPP carries the actual job. Both RFCs were published in February 2013, authored by Stuart Cheshire and Marc Krochmal of Apple, and the same discovery layer underpins AirPrint and the Printer Working Group's IPP Everywhere.
Updated
printing protocols
Tool
SMB Printing
SMB printing is the practice of submitting print jobs to a shared printer over the Server Message Block (SMB) protocol, the same file-and-printer-sharing protocol that underlies Windows network drives. Rather than defining a new page-description language or printer wire format, it reuses SMB's general-purpose "share" abstraction: a print queue is exposed as a named share, and a client prints by writing already-formatted job bytes to that share much as it would write a file. A print server (a Windows print server, or a Unix host running Samba) buffers the data in a spool queue, optionally processes it, and forwards it to the physical device. SMB is content-agnostic: the bytes it carries are typically PostScript, PCL, XPS/EMF spool data, or raw printer-ready data produced by a driver. Print sharing is one of SMB's two original purposes, alongside file sharing.
Updated
printing protocols
Tool
CUPS (Common UNIX Printing System)
CUPS (originally the Common UNIX Printing System, now styled simply CUPS) is a standards-based, open-source printing system for Linux, macOS, and other UNIX-like operating systems. It provides a complete printing stack: a scheduler that speaks the Internet Printing Protocol (IPP), a filter subsystem that converts submitted documents into a format a given printer can render, and a backend subsystem that transmits the data to the device. CUPS exposes System V and Berkeley (BSD) command-line interfaces, a web-based administration interface, and a C programming API. Created by Michael R. Sweet in 1997, adopted by Apple for Mac OS X in 2002, and now developed by the OpenPrinting organization under the Apache License 2.0, CUPS is the default printing system on macOS and the large majority of Linux distributions.
Updated
printing protocols
Tool
Mopria
Mopria is a cross-platform, vendor-neutral standard and certification program for mobile and desktop printing and scanning, maintained by the non-profit Mopria Alliance. Rather than a new wire protocol, it is a profile and conformance-testing layer built on the Internet Printing Protocol (IPP) developed by the IEEE-ISTO Printer Working Group (PWG), sharing the same driverless model as PWG's IPP Everywhere and Apple's AirPrint. Its aim is to let any conforming application, device, or operating system print to and scan from any certified printer, multifunction printer, or scanner of any brand without installing vendor-specific drivers. Founded in September 2013 by Canon, HP, Samsung, and Xerox, the Alliance publishes the Mopria Print Service and Mopria Scan apps for Android and runs the certification program behind the Mopria logo carried by thousands of printer models.
Updated
printing protocols
Tool
AirPrint
AirPrint is Apple's driverless printing feature built into iOS, iPadOS, and macOS. It lets applications submit print jobs to a compatible printer over a local network without installing a printer-specific driver. Technically it is an application of the IETF/PWG Internet Printing Protocol (IPP) combined with Bonjour, Apple's zero-configuration mDNS and DNS-SD service-discovery stack, for automatic printer discovery. Apple announced AirPrint on September 15, 2010 and shipped it to users on November 22, 2010 in the free iOS 4.2 update, with HP as the launch hardware partner. It was later extended to the Mac with OS X Lion in 2011. AirPrint replaces the traditional per-model driver with a self-describing protocol: a device discovers printers over Bonjour, queries their capabilities via IPP, and sends a supported format such as PDF, JPEG, or Apple Raster (URF). It is closely aligned architecturally with the Printer Working Group's IPP Everywhere.
Updated
printing protocols
Tool
HP JetDirect
HP JetDirect is Hewlett-Packard's family of network print-server hardware — external boxes, internal MIO/EIO cards, and Embedded Jetdirect firmware — together with the raw TCP/IP printing method it popularized. In raw mode a client streams already-rendered page-description-language data (PCL, PostScript, or other PDL) directly to TCP port 9100, which the printer processes unaltered. JetDirect gave printers their own network identity across the mixed protocol environments of the 1990s, and its simple port-9100 "socket" printing became a de facto industry convention still supported by Windows, CUPS, and most network printers today, even as the industry shifts toward IPP for encryption and richer job handling.
Updated
printing protocols
Tool
LPD / LPR — Line Printer Daemon Protocol
LPD/LPR (Line Printer Daemon / Line Printer Remote) is a minimal, text-oriented TCP protocol, documented in the Informational RFC 1179 (August 1990), for submitting print jobs to a remote spooler and querying or manipulating its queue. A conforming daemon listens on TCP port 515; a print job is carried as a control file plus a data file. Grown from the Berkeley (BSD) UNIX printing system, LPD/LPR became a lowest-common-denominator way to print across heterogeneous networks and was later embedded directly into network printers and print-server appliances. It carries no authentication or encryption — RFC 1179 states that "Security issues are not discussed in this memo" — and it has largely been superseded by IPP for new deployments, though it remains widely supported for legacy interoperability.
Updated
printing protocols
Tool
IPP (Internet Printing Protocol)
The Internet Printing Protocol (IPP) is an application-level, client–server protocol for network printing and print-job management. It represents a print service as a Printer object and each submission as a Job object, which clients manipulate through a fixed set of operations to discover capabilities, submit documents, and query, hold, release, or cancel jobs. IPP is layered on HTTP: every request is an HTTP POST carrying an application/ipp binary message body, inheriting HTTP's transport, proxying, and TLS security, and it uses IANA-assigned TCP port 631. Standardized first by the IETF (IPP/1.1 as RFC 2910 and RFC 2911 in 2000, reissued as RFC 8010 and RFC 8011 in 2017, which carry Internet Standard status as STD 92) and extended by the Printer Working Group (IPP/2.x and IPP Everywhere), IPP is the technical foundation for driverless printing programs including Apple AirPrint, IPP Everywhere, and Mopria.
Updated
page description languages
page description languages
Tool
AFP (Advanced Function Presentation)
Advanced Function Presentation (AFP) is a document and information presentation architecture originally developed by IBM for high-volume, high-speed, variable-data printing. Rather than a single file format, it is a coordinated family of architectures whose two central pillars are MO:DCA (Mixed Object Document Content Architecture), the device-independent data stream describing a document's content and layout, and IPDS (Intelligent Printer Data Stream), the bidirectional host-to-printer protocol that drives the device and returns status to the host. AFP is object-driven, all-points-addressable, and resource-managed. Since the mid-2000s the architecture has been stewarded as an open standard by the AFP Consortium (AFPC) rather than by IBM alone.
Updated
page description languages
Tool
XPS (XML Paper Specification)
XPS (XML Paper Specification) is a fixed-layout, XML-based electronic document format and page description language developed by Microsoft. Per Microsoft's documentation, it simultaneously serves three roles: an electronic document format, a print spool file format, and a page description language (PDL) for printers. An XPS file is a ZIP-based package conforming to the Open Packaging Conventions (OPC), holding XAML-derived markup that describes fixed page layout along with embedded fonts, images, and color profiles. The format exists as Microsoft's original XPS (.xps) and the standardized OpenXPS (.oxps), adopted by Ecma International as ECMA-388 in June 2009. Introduced with Windows Vista and the .NET Framework 3.0 / WPF, XPS aimed to provide one consistent representation across application, spooler, and printer to reduce lossy conversions and improve print fidelity. It remained largely Windows-centric and was displaced by PDF as the dominant cross-platform fixed-layout format; Microsoft removed the built-in XPS Viewer from default Windows installs starting with Windows 10 version 1803 and now positions the IPP class driver and Print Support Apps as its recommended modern print platform.
Updated
page description languages
Tool
PJL (Printer Job Language)
Printer Job Language (PJL) is a command language developed by Hewlett-Packard that operates at the print-job level, above the page description language (PDL) that renders each page. Per HP's own definition, PJL provides "a method for switching printer languages at the job level, and for status readback between the printer and the host computer." Where a PDL such as PCL or PostScript describes marks on a page, PJL describes what to do with the job as a whole: which interpreter should process the next block of data, how many copies to print, which paper tray to use, what the control panel displays, and what status the host is told. PJL commands are largely plain-English text, each line beginning with the @PJL prefix, which makes them human-readable and easy to generate from a driver. Because PJL parses its own commands before any PDL sees the data, HP describes it as residing "above all the other printer languages."
Updated
page description languages
Tool
HP-GL (Hewlett-Packard Graphics Language)
HP-GL (Hewlett-Packard Graphics Language) is a vector graphics command language created by Hewlett-Packard to drive pen plotters. It represents drawings as a stream of short, human-readable two-letter instructions that move a pen, raise or lower it, select pens, and draw primitives such as lines, arcs, circles, and stroked text. Because it describes geometry rather than pixels, an HP-GL file is resolution-independent. Its successor, HP-GL/2, added programmable line width and a compact encoded coordinate format, and became the vector-graphics component of HP's PCL 5 printer language, bringing plotter-style vector output to raster laser and inkjet printers. HP-GL/2 remains the vector layer of the PCL family and a native input language for wide-format plotters.
Updated
page description languages
Tool
ESC/POS
ESC/POS is a printer control command language created by Seiko Epson Corporation for point-of-sale (POS) receipt and thermal printers and related peripherals such as cash drawers and customer displays. Rather than describing a full page like a page-description language, it is a byte-oriented control stream: printable text interleaved with short command sequences that begin with a control character, most commonly ESC (0x1B) or GS (0x1D). Descended from Epson's earlier ESC/P language for dot-matrix printers, ESC/POS became the de facto command set for receipt printing and is implemented, in varying subsets, by many third-party thermal printers.
Updated
page description languages
Tool
ESC/P (Epson Standard Code for Printers)
ESC/P (Epson Standard Code for Printers) is a stream-based printer control language developed by Seiko Epson, in which ordinary character data is interspersed with escape sequences — control strings beginning with the ASCII ESC character (decimal 27) — that instruct a printer how to format, position, and render output. It originated on Epson dot-matrix impact printers, was extended as the backward-compatible ESC/P 2, and continues in the raster-oriented ESC/P-R inkjet variant and the ESC/POS receipt-printer variant. Unlike PostScript, ESC/P is a device-facing control language rather than a device-independent, programmable page-description language.
Updated
page description languages
Tool
PCL (Printer Command Language)
PCL (Printer Command Language) is a family of printer-control languages developed by Hewlett-Packard, in which formatting, font, graphics, and page-control instructions are embedded in the data stream sent to a printer. Classic PCL levels 1 through 5 are command-oriented streams built from escape sequences that begin with the ASCII escape character, while PCL 6 introduced a stack-based, object-oriented, binary-encoded protocol (PCL XL / "PCL 6 Enhanced") designed to align with graphical-interface drawing operations. Introduced across successive HP inkjet and LaserJet printer generations from the mid-1980s onward, PCL became one of the two dominant printer languages of the laser era alongside Adobe PostScript, and broad support for it persists in office and enterprise printing today.
Updated
page description languages
Tool
PostScript
PostScript is a page-description language and stack-based programming language created by Adobe Systems and first brought to market in 1984. It describes the appearance of a page — text, vector graphics, sampled images, and color — independently of any specific output device, and is interpreted by a Raster Image Processor (RIP) that renders it at the device's native resolution. First shipped in the Apple LaserWriter in 1985, PostScript's device-independent imaging model became the technical foundation of desktop publishing and later of Adobe's Portable Document Format (PDF).
Updated
document workflows