PDFProcessor Components and Deployment
Estimated Reading Time: 7 MinutesThis article applies to Windows 64, Linux x86_64 and MacARM version 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
PDFProcessor converts PDF documents to supported PDF/A and PDF/X formats. PDF/A supports long-term document preservation, while PDF/X supports document exchange for print production.
This feature is useful for applications that prepare documents for archival repositories or printing workflows with specific PDF format requirements. It provides a way to incorporate those conversions into document processing.
Samples
The installed samples are:
- CPlusPlus\Sample_Source\DocumentConversion\ConvertToPDFA\ConvertToPDFA.cpp
- CPlusPlus\Sample_Source\DocumentConversion\ConvertToPDFX\ConvertToPDFX.cpp
- CPlusPlus\Sample_Source\DocumentConversion\ConvertToFactur-X\ConvertToFactur-X.cpp
- CPlusPlus\Sample_Source\DocumentConversion\ConvertToZUGFeRD\ConvertToZUGFeRD.cpp
Public samples (github):
ConvertToPDFA
ConvertToPDFX
ConvertToFactur-X
ConvertToZUGFeRD
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\DL210PDFProcessor.ppi | 0.92 |
| CPlusPlus\Binaries\DL210pdfsettings.dll | 0.31 |
| Combined (conditional) | 1.23 |
DL210PDFProcessor.ppi provides the conversion plug-in. DL210pdfsettings.dll is shared with XPS2PDF. The combined total includes both files and applies only when the shared DLL can also be omitted.
Linux x86_64
The PDFProcessor plug-in supplies the PDF/A and PDF/X conversion interface. It also requires the settings library shown below.
All paths are relative to the SDK root. Sizes use 1 MB = 1,000,000 bytes; totals are calculated from exact byte counts before rounding. Symbolic links identify the same underlying binary and are not counted again.
| File or directory | Size (MB) |
| CPlusPlus/Binaries/DL210PDFProcessor.ppi.21.0.0.2 | 1.53 |
Symbolic links belonging to this component:
- CPlusPlus/Binaries/DL210PDFProcessor.ppi → CPlusPlus/Binaries/DL210PDFProcessor.ppi.21.0.0
- CPlusPlus/Binaries/DL210PDFProcessor.ppi.21.0.0 → CPlusPlus/Binaries/DL210PDFProcessor.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
MacARM
Paths are relative to the main SDK root, except the WebToPDF bundle and headers, which originate in the separate WebToPDF SDK. Sizes use 1 MB = 1,048,576 bytes (1,024² bytes) and are rounded to two decimal places. A displayed size of 0.00 MB may represent a nonempty file smaller than 0.005 MB. Directory totals include all regular-file contents recursively, including resources and signatures; symlink targets are counted once. Filesystem allocation and directory metadata are excluded.
| File or directory | Size (MB) | Role |
| CPlusPlus/Binaries/DL210PDFProcessor.ppi | 1.26 | Complete PDFProcessor plug-in bundle |
| CPlusPlus/Binaries/DL210PDFPort.framework | 1.79 | PDF processing support shared with transparency flattening |
| CPlusPlus/Binaries/DL210pdfsettings.framework | 0.29 | Settings support shared with transparency flattening and WebToPDF |
| CPlusPlus/Binaries/DL210ARE.framework | 0.43 | Adobe rendering support; shared and linked by the supplied sample build |
| CPlusPlus/Include/Headers/PDFProcessorCalls.h | 0.01 | Development header; not required in an application runtime |
| CPlusPlus/Include/Headers/PDFProcessorExpT.h | 0.02 | Development header; not required in an application runtime |
| CPlusPlus/Include/Headers/PDFProcessorProcs.h | 0.00 |
Development header; not required in an application runtime |
Omitting the Feature When Unused
Windows
If PDFProcessor conversion is unused, omit DL210PDFProcessor.ppi to save 0.92 MB.
Retain DL210pdfsettings.dll if XPS2PDF remains installed. When both plug-ins are omitted and no other retained component uses the settings DLL, it can also be omitted, bringing the combined saving to 1.23 MB. Count the shared DLL's saving once across the two features.
Tested PDF opening, text extraction, rendering, saving, reopening, and library shutdown succeeded without PDFProcessor. Existing PDF/A and PDF/X outputs also remained usable without the plug-in, with matching rendering and text counts.
Positive tests converted the supplied Word.pdf input to PDF/A-2b RGB and PDF/X-4:2010. Successful conversion and reopening do not establish independent standards conformance for every possible input.
Linux x86_64
When the application does not request PDFProcessor conversions, omit:
- CPlusPlus/Binaries/DL210PDFProcessor.ppi
- CPlusPlus/Binaries/DL210PDFProcessor.ppi.21.0.0
- CPlusPlus/Binaries/DL210PDFProcessor.ppi.21.0.0.2
This saves 1.53 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. Previously generated PDF/A and PDF/X documents also remained usable. Reading an existing PDF/A or PDF/X document does not, by itself, require this converter.
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.
Do not omit this feature while retaining workflows that call it indirectly, including the PDF/A stage of the Factur-X or ZUGFeRD samples.
MacARM
Native ARM64 tests established successful feature use before omission. With the components listed below absent, APDFL initialization, PDF opening, text extraction, rendering, saving, reopening, and termination succeeded for the tested documents. Extracted text and rendered pixels matched the corresponding baseline, including PDFs previously produced by the optional features.
Exact tested runtime omission list:
- CPlusPlus/Binaries/DL210PDFProcessor.ppi` (entire directory)
Runtime payload savings: 1.26 MB. Development headers and samples are not included in this figure.
Retain `DL210PDFPort.framework` while transparency flattening remains deployed. Retain `DL210pdfsettings.framework` while transparency flattening or WebToPDF remains deployed. `DL210ARE.framework` is also shared and appears in the supplied sample linker configuration. The APDFL core frameworks and resources, including fonts and color profiles, remain required. Shared frameworks are excluded from the individual savings figure. The tested PDF/A-3b, PDF/A-1b, and PDF/X-1a conversions also succeeded without the separate PDFlattener plug-in; the shared support frameworks remained installed. Transparency flattening continued to work when only PDFProcessor was omitted.
Application considerations
Windows
Remove unconditional PDFProcessor initialization and conversion calls when the plug-in is omitted. For optional installation, check gPDFProcessorHFT after InitPDFProcessorHFT before invoking PDFProcessorInitialize or conversion APIs, and guard termination. The installed conversion samples assume the plug-in is available.
The tested parameter-based PDF/A and PDF/X conversions did not require Standard.joboptions. Retain that file if XPS conversion or another workflow reads it. Retain APDFL core dependencies 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 PDFProcessor HFT is available before calling `PDFProcessorInitialize()` or conversion APIs. Check initialization and conversion results and handle APDFL exceptions; a missing dependency can prevent the plug-in from becoming available even when its own file is present.
The native baselines exercised PDF/A-2b and PDF/X-4:2010 conversion. Applications should retain the fonts and color profiles needed for their requested output. Call `PDFProcessorTerminate()` after successful initialization and release documents, paths, and conversion settings before APDFL termination.
MacARM
Assign `gPDFProcessorHFT = InitPDFProcessorHFT`, check the table, then check `PDFProcessorInitialize()` before conversion. Check the return value of `PDFProcessorConvertAndSaveToPDFA` or the corresponding PDF/X API, and handle APDFL exceptions. A sample exit code of zero alone is insufficient: some supplied samples print a conversion failure without setting a failing process exit code. Release destination paths and documents, and call `PDFProcessorTerminate()` only when initialization succeeded. Applications that automatically convert every saved document to PDF/A or PDF/X must disable or replace that workflow before omitting this plug-in.
Removing files alone is insufficient if application startup or a document workflow unconditionally calls the feature. Feature availability, feature initialization, and successful completion of a requested operation are separate checks.
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.