Skip to Content

XPS2PDF Components and Deployment

Estimated Reading Time: 4 Minutes

This article applies to Windows 64 and Linux x86_64 versions of Datalogics Adobe PDF Library (APDFL) 21. Feature availability, component filenames, file sizes, and deployment requirements may differ on other platforms or in other APDFL versions.

 

Description

XPS2PDF converts XML Paper Specification (XPS) documents to PDF. It is useful for applications that receive XPS files and need to make that content available as PDF for distribution, viewing, or further processing.

Converting XPS to PDF helps organizations bring documents from different sources into a common format and incorporate them into existing PDF workflows.

 

Samples

The installed XPStoPDF sample is located at:
CPlusPlus\Sample_Source\DocumentConversion\XPStoPDF\XPStoPDF.cpp

It converts Resources\Sample_Input\XPStoPDF.xps to PDF and uses Resources\joboptions\Standard.joboptions to configure conversion.

Public sample (github):  XPStoPDF

 

Files

Paths are relative to the SDK root. Sizes are uncompressed file lengths, rounded to two decimal places. Sizes and savings may vary by SDK build.

Windows
File or Directory Size (MB)
CPlusPlus\Binaries\DL210XPS2PDF.ppi 2.52
Resources\joboptions\Standard.joboptions 0.02
CPlusPlus\Binaries\DL210pdfsettings.dll 0.31
  • DL210XPS2PDF.ppi is the XPS conversion plug-in
  • Standard.joboptions supplies the settings used by the installed sample
  • DL210pdfsettings.dll is shared with PDFProcessor.
Linux x86_64
File or Directory Size (MB)
CPlusPlus/Binaries/DL210XPS2PDF.ppi.21.0.0.2 3.86

Symbolic links belonging to this component:

  • CPlusPlus/Binaries/DL210XPS2PDF.ppi → CPlusPlus/Binaries/DL210XPS2PDF.ppi.21.0.0
  • CPlusPlus/Binaries/DL210XPS2PDF.ppi.21.0.0 → CPlusPlus/Binaries/DL210XPS2PDF.ppi.21.0.0.2

Shared settings component (retain when another dependent feature is used):

File or Directory Size (MB)
CPlusPlus/Binaries/libDL210pdfsettings.so.21.0.0.1 0.26

Symbolic links belonging to this component:

  • CPlusPlus/Binaries/libDL210pdfsettings.so → CPlusPlus/Binaries/libDL210pdfsettings.so.21.0.0
  • CPlusPlus/Binaries/libDL210pdfsettings.so.21.0.0` → `CPlusPlus/Binaries/libDL210pdfsettings.so.21.0.0.1

Sample conversion settings

File or Directory Size (MB)
Resources/joboptions/Standard.joboptions 0.02

 

Omitting the Feature When Unused
Windows

If XPS conversion is unused, omit DL210XPS2PDF.ppi to save 2.52 MB.

Standard.joboptions can also be omitted if no retained application workflow reads it, increasing the saving to 0.02 MB.

DL210pdfsettings.dll can be omitted only when both XPS2PDF and PDFProcessor are omitted and no other retained component uses it; this saves an additional 0.31 MB. Count the shared DLL's saving once across the two features.

An application that performs no XPS conversion can operate without DL210XPS2PDF.ppi. Tested PDF opening, text extraction, rendering, saving, reopening, and library shutdown succeeded without the plug-in; rendered pixels matched the baseline. The positive test also successfully converted the sample XPS document.

Linux x86_64

When the application does not convert XPS input, omit:

  • CPlusPlus/Binaries/DL210XPS2PDF.ppi
  • CPlusPlus/Binaries/DL210XPS2PDF.ppi.21.0.0
  • CPlusPlus/Binaries/DL210XPS2PDF.ppi.21.0.0.2

This saves 3.86 MB for the plug-in itself. With the listed exclusive components absent, APDFL initialization, PDF opening, text extraction, rendering, saving, reopening, and termination succeeded on the tested inputs. Word counts, rendered-image hashes, and document measurements matched the corresponding baseline. PDFs previously generated from XPS remained usable after the converter was omitted.

Resources/joboptions/Standard.joboptions can also be omitted when no retained workflow references it, saving 0.02 MB separately. Omitting the plug-in and this file saves 3.88 MB in total; the total uses unrounded byte counts.

The settings library is shared by XPS2PDF, PDFProcessor, and Transparency Flattening. Retain it if any of these three features remains in use. Only when all three are omitted can the following additional files be omitted, saving 0.26 MB once across the deployment:

  • CPlusPlus/Binaries/libDL210pdfsettings.so
  • CPlusPlus/Binaries/libDL210pdfsettings.so.21.0.0
  • CPlusPlus/Binaries/libDL210pdfsettings.so.21.0.0.1

Retain the other APDFL libraries, including the ARE and PDFPort libraries, and the required fonts, CMaps, Unicode resources, and color profiles. Their removal is outside this omission list.

 

Application considerations
Windows

Remove unconditional XPS initialization and conversion calls from a deployment without the feature. If the application supports optional installation, check gXPS2PDFHFT after InitXPS2PDFHFT before invoking XPS2PDFInitialize or other XPS2PDF calls. Termination must also be guarded. The installed sample assumes the plug-in is available.

The kDontLoadPlugIns initialization flag disables all plug-ins, so it is unsuitable for disabling only XPS2PDF while retaining OCR or other plug-ins. Retain APDFL core libraries and required font, CMap, Unicode, and color-profile resources. Validate the final product's retained workflows in an isolated deployment.

Linux x86_64

Check that the XPS2PDF HFT is available before calling `XPS2PDFInitialize()` or conversion APIs. These CPlusPlus calls use a function table; an unconditional call through an absent table is not a safe availability check. Check initialization and conversion results and handle APDFL exceptions.

If conversion settings are supplied by filename, retain that file and its resources while conversion remains enabled. Terminate XPS2PDF after successful initialization and release conversion settings and paths before APDFL termination.

 

How to Get Additional Help

Contact Datalogics Tech Support 

Fetch the answers quickly using our AI assistant Scout, available for any language. Scout also opens access to our MCP server, connecting APDFL with your favorite AI tools for faster and easier coding. 

XPS2PDF Components and Deployment
  • COMMENT