> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/cli/xpsconvert/xps-convert.md).

# Convert PDF to XPS Command-line

XPSConvert is an easy-to-use, multi-platform command-line program that provides users with an efficient way to convert images and XPS or OpenXPS documents into PDF.

Apryse's **XPSConvert** is an easy-to-use, multi-platform command-line program that provides users with an efficient way to convert XPS or OpenXPS documents into PDF as well as image formats (such as PNG, TIFF, BMP, and JPEG).

XPSConvert enables high-quality conversion from XPS to PDF that maintains the original document quality and preserves hyperlinks, colors and fonts. The resulting self-contained and compact PDF and image files can be distributed, viewed, edited, archived, printed, and published. The conversion also offers a wide range of options to control the output file size and image quality.

<a href="/cli/get-started/download.md" class="button primary">Download XPSConvert</a>

**Like other Apryse products, XPSConvert does not rely on Microsoft .NET platform or any other third party components. The technology is suitable for use in high-throughput server environments and is also available as a component for integration with third party applications.**

<a href="/core/conversion/conversion.md" class="button primary">SDK Guide</a><a href="/core/get-started/samples/converttest.md" class="button primary">SDK Sample</a>

## What is XPS?

"XPS" stands for "XML Paper Specification" and is a new document format as well as the native print spooler format in Microsoft Windows™. The XPS document format consists of 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. Just like PDF, the XPS document format enables users to view, print, and archive any type of documents without the original program that created them and without loss of fidelity.

## Why XPSConvert?

With the emergence of the new document format XPS, interoperability between XPS and other document formats, predominantly a document format as widely accepted as PDF, will be crucial to many business workflows and applications.

Apryse is leading the way in developing the **next generation** of our core technology that will enable users to take advantage of both PDF and XPS document formats in their solutions.

## **Key Functions**

* Convert XPS or OpenXPS to PDF
* Convert XPS or OpenXPS to PNG, PNG8, JPEG, TIFF, TIFF8, TIFF (G3/G4 CCITT Fax) BMP, and RAW.
* Full support for XPS and OpenXPS specifications.
* Batch conversion.
* Conversion support for unzipped XPS folders.
* Preserves embedded fonts, ICC profiles, and hyperlinks.
* Multi-page Tiff export.
* Dithering control for 1 bit per pixel and palletized image formats.
* Wild card and subfolder processing.
* Adjustable output resolutions for raster image output.

## **Common Use Case Scenarios**

* Developers may want to use XPSConvert to quickly add XPS support to any applications or workflows that support PDF.
* Server-based, on-demand conversion of XPS documents to PDF files or raster images.
* Batch processing of PDF collections with same rasterization options. XPSConvert is particularly useful in assembling product catalogues and brochures.
* Thumbnail generation for XPS documents.

## **Operating Systems Supported**

* Windows, Linux and Mac.

## **System Requirements**

* At least 10 MB of free disk space.
* Memory requirement is dependent on source document being converted.

## Examples

{% tabs %}
{% tab title="Shell" %}
{% code lineNumbers="true" %}

```sh
#!/bin/sh
echo "Example 1) Convert XPS to PDF using default settings:"
./xpsconvert -o test_out/ex1 test/"Apryse XPSConvert User Manual.xps" --lic_key "<PDFNET_LICENSE_KEY>"
echo
echo "Example 2) Convert XPS cover page to PNG 100x100 pixel thumbnail:"
./xpsconvert -o test_out/ex2 -f png --hres 100 --vres 100 -a 1 test/"Apryse XPSConvert User Manual.xps" --lic_key "<PDFNET_LICENSE_KEY>"
echo
echo "Example 3) Convert XPS to multi-page TIFF using monochrome rendering with dithering; also rotate image 90 degrees couterclockwise:"
./xpsconvert -o test_out/ex3 --dpi 96 -f tif --multipage --mono --dither --rotate 90 test/"Apryse XPSConvert User Manual.xps" --lic_key "<PDFNET_LICENSE_KEY>"
```

{% endcode %}
{% endtab %}
{% endtabs %}

## PDF SDK

For developers who are looking for a software development component to integrate into their application, Apryse also offers a **PDF SDK**, an easy-to-use, yet powerful software component for embedding into client and server based applications. [PDF SDK](https://apryse.com/products/core-sdk/pdf) is available as a shared library and can be easily accessed from any programming language (including C#, VB.NET, C/C++, Java, VB6, Perl, Python, Ruby, Delphi, etc). **XPSConvert is also available as an add-on module for our PDF SDK.**


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/cli/xpsconvert/xps-convert.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
