XPS2PDF Components and Deployment
Estimated Reading Time: 4 MinutesThis 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.