# Open XML Paper Specification

Open XML Paper Specification (also referred to as OpenXPS) is an open specification for a page description language and a fixed-document format. Microsoft developed it as the XML Paper Specification (XPS). In June 2009, Ecma International adopted it as international standard ECMA-388.
It is an XML-based (more precisely XAML-based) specification, based on a new print path (print processing data representation and data flow) and a color-managed vector document format that supports device independence and resolution independence. In Windows 8 .xps was replaced with the ECMA standard .oxps format which is not natively supported in older Windows versions.
OpenXPS was introduced by Microsoft as an alternative to Portable Document Format (PDF). However, PDF remained the standard choice, and support for and user familiarity with XPS files is limited. It has been described as neglected technology, which may cause difficulties to recipients of documents in a format they are not familiar with.

## Format

The XPS document format consists of structured XML markup that defines the layout of a document and the visual appearance of each page, along with rendering rules for distributing, archiving, rendering, processing and printing the documents. Notably, the markup language for XPS is a subset of XAML, allowing it to incorporate vector elements in documents.
An XPS file is a ZIP archive using the Open Packaging Conventions, containing the files which make up the document. These include an XML markup file for each page, text, embedded fonts, raster images, 2D vector graphics, as well as the digital rights management information. The contents of an XPS file can be examined by opening it in an application which supports ZIP files.
There are two incompatible XPS formats available. The original document writer printed to .xps in Windows 7 and Windows Vista. Beginning with Windows 8, the document writer defaults to the .oxps format.
Microsoft provides two free converters. XpsConverter converts documents between .xps and .oxps format, while OxpsConverter converts documents from .oxps to .xps format.

## Features

XPS specifies a set of document layout functionality for paged, printable documents. It also has support for features such as color gradients, transparencies, CMYK color spaces, printer calibration, multiple-ink systems and print schemas. XPS supports the Windows Color System color management technology for color conversion precision across devices and higher dynamic range. It includes a software raster image processor (RIP) (downloadable separately). The print subsystem supports named colors, simplifying color definition for images transmitted to printers supporting those colors.
XPS supports HD Photo images natively for raster images. The XPS format used in the spool file represents advanced graphics effects such as 3D images, glow effects, and gradients as Windows Presentation Foundation primitives, which printer drivers could offload their rasterization to the printer in order to reduce computational load if the printer is capable of rasterizing those primitives.

## Comparison with PDF

Like PDF, XPS is a page description language using fixed-layout document format designed to preserve document fidelity, providing device-independent document appearance. PDF uses Carousel Object Syntax (COS syntax) to form a random access database of objects that may be created from PostScript or generated directly from applications, whereas XPS is based on XML. Both formats are compressed, albeit using different methods. The filter pipeline architecture of XPS is also similar to the one used in printers supporting the PostScript page description language. PDF includes dynamic capabilities purposely not supported by the XPS format. There are many resources for converting from XPS to PDF and some for converting from PDF to XPS. A method often suggested is to open an XPS file in a program with printing capability, and then "print" to a virtual PDF printer such as Microsoft Print to PDF, with a similar procedure to convert from PDF to XPS.
Comparison between OXPS and PDF :
| File format | OpenXPS | PDF |
| Original author | Microsoft | Adobe Systems |
| Standardized by | Ecma International | ISO |
| First public release date | 2006 | 1993 |
| Latest stable version | Ecma International Standard ECMA-388 — Open XML Paper Specification — 1st Edition | ISO 32000-2:2020 — Document management — Portable document format — Part 2: PDF 2.0 |
| Latest standardised version | Ecma International Standard ECMA-388 — Open XML Paper Specification — 1st Edition | ISO 32000-2:2020 — Document management — Portable document format — Part 2: PDF 2.0 |
| Language type | Markup language (XML) | PDF is a random access binary file format comprising a database of objects that may be created from PostScript or generated directly by an application. |
| XML schema representation | XML Schema (W3C) (XSD) and RELAX NG (ISO/IEC 19757-2) | N/A |
| Compression format | Container: ZIP (Although flate(should be Deflate) is mentioned in third-party document, no specific compression method is mandated for the container.) Payload: JPEG, PNG, TIFF, JPEG XR are compressed based on their file types. | LZW for both text and images; JPEG, JPEG 2000, JBIG2, CCITT Group 4 compression, and RLE for images |
| Container structure | Open Packaging Conventions (ISO/IEC 29500-2:2008) | |
| 3D graphics content | X3D (ISO/IEC 19775/19776) | U3D (Standard ECMA-363), PRC (Product Representation Compact, ISO 14739-1:2014), STEP AP 242 (ISO 10303-242), glTF |
| Full file content compression | Yes | Compression of collections of objects |
| Fast page by page download from web servers | Yes | Yes |
| Multiple documents in one file | Yes | Yes |
| Document bookmarks and outline | Yes | Yes |
| Reflowable | No | With PDF tagging |
| Hyperlinks | Yes | Yes |
| Page thumbnails | Yes | Yes |
| Annotations | Yes | Yes |
| Image transparencies | Yes | Yes |
| Gradient fills | Yes | Yes |
| Alpha channel in color definitions | Yes | Yes |
| Support for multiple transparency blending modes | ? | Yes |
| Change tracking | No | No |
| Password protection | Yes | Yes |
| Digital signatures | Yes | Yes |
| JPEG (RGB and CMYK) (ISO/IEC 10918-1) | Yes | Yes |
| JPEG 2000 (ISO/IEC 15444-1) | No | Yes |
| JBIG2 for bi-level images | No | Yes |
| PNG | Yes | Yes |
| TIFF (RGB and CMYK) | Yes | No |
| JPEG XR (ISO/IEC 29199-2:2009) | Yes | No |
| Gray support | Yes | Yes |
| RGB support | Yes | Yes |
| CMYK support | Yes | Yes |
| Spot color support | Yes | Yes |
| Filename extensions | oxps | pdf |
| Internet media types | application/oxps | application/pdf |
| Standard licensing | Non-free content, downloaded free-of-charge from Ecma | PDF 1.7: Non-free content, downloaded free-of-charge from Adobe, or for a fee from ISO PDF 2.0: Non-free content, downloaded free-of-charge from the PDF Association, for a fee from ISO |
| File format | OpenXPS | PDF |

## Viewing and creating XPS documents

Windows Vista and later supports both creating and viewing XPS. In addition, the printing architecture of Windows Vista uses XPS as the spooler format.
Apps can create XPS documents by printing to XPS Document Writer, a virtual printer that comes bundled with Windows. These files open in XPS Viewer, an optional component that comes with Windows Vista and later. In Windows Vista, XPS is hosted within Internet Explorer, but in subsequent versions, it is a standalone app. Both versions support digital rights management and digital signatures. Windows 8 also comes with an app called "Reader", which reads XPS and PDF files.
The .NET Framework 3.0 installer for Windows XP also adds the IE-hosted XPS Viewer, as well as XPS Document Writer. Since then, Microsoft released the XPS Essentials Pack for Windows XP, Server 2003, and Vista, which includes the standalone viewer, an IFilter plug-in that helps Windows Desktop Search index the contents of XPS files, and another plug-in for Windows Explorer to help generate thumbnails for XPS files. Installing this pack enables operating systems prior to Windows Vista to use the XPS print spooler instead of the older GDI-based spooler. The XPS print spooler can produce better quality prints for printers that directly consume the XPS format.

### Third-party software

| Name | Platform | Function |
| Evince | Linux | A document viewer for multiple document format; can display XPS documents thanks to libgxps. |
| MuPDF | Linux, Windows, Android, iOS | A lightweight PDF, XPS and OpenXPS viewer; licensed under the terms of AGPL v3 |
| Harlequin RIP | Windows, Mac OS, Linux, ThreadX | Renders XPS files for print or display; used in desktop printers, digital production presses, prepress and software |
| Okular | Linux, FreeBSD, Windows, Solaris | The document viewer of the KDE project; can display XPS documents |
| STDU Viewer | Microsoft Windows | Can display XPS documents as well as other electronic document formats. Other STDU applications may handle organizing/browsing, conversion, and extraction. |
| Sumatra PDF | Windows | Can display XPS documents, among other formats, since version 1.5, thanks to MuPDF |
| Xara Designer Pro | Windows | Vector graphics app with XPS support |
| XPS Annotator | Windows | Standalone XPS viewer which can digitally sign and annotate XPS documents, and convert XPS documents to common picture formats. |
| XPS Viewer | Windows | Free app from Software Imaging Ltd. for viewing XPS files |

### Hardware

XPS had the support of printing companies such as Konica Minolta, Sharp, Canon, Epson, Hewlett-Packard, and Xerox and software and hardware companies such as CSR (formerly Zoran), and Global Graphics. Native XPS printers were introduced by Canon, Konica Minolta, Toshiba, and Xerox. Devices at the Certified for Windows level of Windows Logo conformance certification were required to have XPS drivers for printing since 1 June 2007.

## Licensing

Microsoft released XPS under a royalty-free patent license called the Community Promise for XPS, allowing users to create implementations of the specification that read, write and render XPS files as long as they included a notice within the source that technologies implemented may be encumbered by patents held by Microsoft. Microsoft also required that organizations "engaged in the business of developing (i) scanners that output XPS Documents; (ii) printers that consume XPS Documents to produce hard-copy output; or (iii) print driver or raster image software products or components thereof that convert XPS Documents for the purpose of producing hard-copy output, [...] will not sue Microsoft or any of its licensees under the XML Paper Specification or customers for infringement of any XML Paper Specification Derived Patents (as defined below) on account of any manufacture, use, sale, offer for sale, importation or other disposition or promotion of any XML Paper Specification implementations." The specification itself was released under a royalty-free copyright license, allowing its free distribution.
On September 13, 2011, Monotype Imaging announced it had licensed its XPS-to-PCL 6 and XPS-to-PostScript vector conversion filters to Microsoft for use in the next version of Windows.

## History and standardization

In 2003, Global Graphics was chosen by Microsoft to provide consultancy and proof of concept development services on XPS and worked with the Windows development teams on the specification and reference architecture for the new format. Microsoft submitted the XPS specification to Ecma International. In June 2007 Ecma International Technical Committee 46 (TC46) was set up to develop a standard based on the Open XML Paper Specification (OpenXPS).
At the 97th General Assembly held in Budapest, June 16, 2009, Ecma International approved Open XML Paper Specification (OpenXPS) as an Ecma standard (ECMA-388). TC46's members included:
* Autodesk
* Brother Industries
* Canon
* CSR (formerly Zoran)
* Fujifilm
* Fujitsu
* Global Graphics
* Hewlett-Packard
* Konica Minolta
* Lexmark
* Microsoft
* Monotype Imaging
* Océ Technologies
* Panasonic (formerly Matsushita)
* Ricoh
* Toshiba
* Xerox

## Malware vulnerability

XPS files can be infected with malware.