Skip to Content

PDFProcessor Components and Deployment

Estimated Reading Time: 7 Minutes

This 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. 

PDFProcessor Components and Deployment
  • COMMENT