Open XML Paper Specification

From Infogalactic: the planetary knowledge core
(Redirected from XML Paper Specification)
Jump to: navigation, search
Open XML Paper Specification (OpenXPS)
64px
Filename extension .oxps[1] (.xps)
Internet media type application/oxps, application/vnd.ms-xpsdocument
Developed by Microsoft, Ecma International
Initial release October 2006
Latest release
First Edition
(June 16, 2009)
Type of format Page description language /
Document file format
Contained by Open Packaging Conventions
Extended from ZIP, XML, XAML
Standard ECMA-388
Website http://www.ecma-international.org/publications/standards/Ecma-388.htm

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.[2]

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-based 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.[1]

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-graphic elements in documents, using XAML to mark up the Windows Presentation Foundation (WPF) primitives. The elements used are described in terms of paths and other geometrical primitives.[clarification needed What are paths and primitives?]

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 on the market. The original document writer printed to .xps in Windows 7 and earlier (i.e., Windows Vista and Windows XP). Beginning with Windows 8, the document writer defaults to the OpenXPS .oxps format. Trying to open .oxps files in Windows 7 or lesser without a .oxps-to.xps converter will result in an error.[1]

Microsoft provides two free converters. XpsConverter converts documents between .xps and .oxps format,[3] while OxpsConverter converts documents from .oxps to .xps format.[4]

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).[5] 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.[6] 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 process without rasterization, preventing rendering artifacts and reducing computational load.[citation needed]

Similarities with PDF and PostScript

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Like Adobe Systems's PDF format, XPS is a fixed-layout document format designed to preserve document fidelity,[7] providing device-independent document appearance. PDF is a 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.[8]

Viewing and creating XPS documents

XPS is supported on several versions of Windows.

Because the printing architecture of Windows Vista uses XPS as the spooler format,[7] it has native support for generating and reading XPS documents.[9] XPS documents can be created by printing to the virtual XPS printer driver. The XPS Viewer is installed by default in Windows Vista, Windows 7, and Windows 8. The viewer is hosted within Internet Explorer (IE) in Windows Vista, but is a native application in 7 and 8 which supports digital signatures. Windows 8 also has a Reader application that reads XPS, OXPS, and PDF files.[10] The IE-hosted XPS viewer and the XPS Document Writer are also available to Windows XP users when they download the .NET Framework 3.0. The IE-hosted viewer supports digital rights management and digital signatures. Users who do not wish to view XPS documents in the browser can download the XPS Essentials Pack,[11] which includes a standalone viewer and the XPS Document Writer. The XPS Essentials Pack also includes providers to enable the IPreview and IFilter capabilities used by Windows Desktop Search, as well as shell handlers to enable thumbnail views and file properties for XPS documents in Windows Explorer.[12] The XPS Essentials Pack is available for Windows XP, Windows Server 2003, and Windows Vista.[12] Installing this pack enables operating systems prior to Windows Vista to use the XPS print spooler[13] instead of the GDI-based WinPrint,[14] which can produce better quality prints for printers that support XPS in hardware (directly consume the format).[15] The print spooler format on these operating systems when printing to older, non-XPS-aware printers, however, remains unchanged.

Third-party support

Software

Lua error in package.lua at line 80: module 'strict' not found.

Name Platform Function
Evince Evince is a document viewer for multiple document formats. It can display XPS documents thanks to libgxps.[16]
MuPDF A lightweight PDF, XPS and OpenXPS viewer, AGPL v3
Harlequin RIP Render Microsoft XPS files for print or display. Used in desktop printers, digital production presses, prepress and a variety of software[17]
Okular Okular, the document viewer of the KDE project, can display XPS documents.[18]
STDU Viewer STDU Viewer and display and organize XPS documents (as well as other electronic document formats).[citation needed]
SumatraPDF SumatraPDF can display XPS documents (among other formats) since version 1.5, thanks to MuPDF.[19]
Xara Designer Pro A vector graphics application with XPS export and beta version of XPS import.
XPS Annotator XPS Annotator is a standalone XPS Viewer which can digitally sign and annotate XPS documents, show digital signatures and convert XPS documents to common picture formats.[20]

Hardware

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

Licensing

Microsoft released XPS under a royalty-free patent license called the Community Promise for XPS,[28][29] 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.[30]

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.[31][32]

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.[33] Microsoft submitted the XPS specification to Ecma International.[34] In June 2007 Ecma International Technical Committee 46 (TC46) was set up to develop a standard based on the Open XML Paper Specification (OpenXPS).[35]

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).[36] TC46's members included:

See also

References

  1. 1.0 1.1 1.2 Lua error in package.lua at line 80: module 'strict' not found.
  2. http://www.ecma-international.org/publications/standards/Ecma-388.htm
  3. https://msdn.microsoft.com/en-us/library/windows/hardware/Hh846189(v=vs.85).aspx
  4. You cannot open an .oxps file in Windows 7 or in Windows Server 2008 R2
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. 7.0 7.1 Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Download details: XPS Essentials Pack Version 1.0 Microsoft XML Paper Specification Essentials Pack
  12. 12.0 12.1 Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. http://microsoft.com/whdc/device/print/XPSDrv_FilterPipe.mspx XPSDrv Filter Pipeline: Implementation and Best Practices
  16. [1]
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. XML Paper Specification Licensing, Microsoft. Retrieved on June 8, 2006.
  31. Monotype Imaging Licenses XPS Printer Driver Solution to Microsoft
  32. Monotype Imaging Licenses XPS Printer Driver Solution to Microsoft
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. Lua error in package.lua at line 80: module 'strict' not found.[dead link]

External links