Join our Discord community for support and discussions! Connect with us →

Adobe PDF Library 21

Release Notes

Adobe PDF Library v21 Release Notes - This page lists updates, fixes, changes and enhancements made to the Adobe PDF Library v21 provided by Datalogics.

APDFL v21.0.0P1b

Datalogics is pleased to announce the release of APDFL v21.0.0Plus1b. This release is a major upgrade built on the Adobe PDF Library (PDFL) v21.0 core libraries and includes a wide range of new features, performance improvements, compatibility enhancements, and problem corrections.

.NET and Java interfaces are not included in the APDFL v21.0.0Plus1b release. Support for these interfaces is planned for a future update.

New Features:

  • Modern C++ SDK — Built on the same APDFL runtime as the existing integration libraries, the Modern C++ SDK provides a C++17-based interface featuring RAII-based resource management, exception-driven error handling, move semantics, std::unique_ptr / std::shared_ptr ownership models, strongly typed flags, and a unified datalogics_interface namespace. These enhancements reduce boilerplate code, simplify resource management, and enable more natural integration of PDF functionality into modern C++ applications.
    The Modern C++ SDK requires a C++17 compiler and is supported on Windows (MSVC 19.3+ / Visual Studio 2022 v143 toolset, x64 and ARM64), Linux Rocky 9+ (Clang 18+ with libstdc++11, x86_64 and aarch64), and macOS 15+ (Apple Clang 16.4+ / Xcode 16+, x86_64 and arm64).
    The existing APDFL C++ interface will now be referred to as "Adobe C/C++" and remains fully supported. Existing integrations can continue unchanged, and migration to the Modern C++ SDK is optional.
  • WebToPDF — A new Plug-In for APDFL that converts an HTML file tree on disk, or a URL, to PDF. Available on Windows 64, Windows ARM, Linux x64, and Linux arm64.
  • Added support for the Chinese GB18030 font — Enables correct rendering and processing of Simplified and Traditional Chinese characters in documents that use GB18030-compliant fonts. This improves compatibility with Chinese-language PDFs and helps ensure accurate display of multilingual text content.
  • New ListStructureTree Sample (Modern C++) — This sample walks the logical structure tree of a tagged PDF document and prints each element's struct type (/S), parent chain, and kid entries (child elements and marked-content references). Available for the Modern C++ interface.

Problem Corrections:

  • SF44603 – Word Finder: Fixed incorrect positioning of Arabic diacritical marks (harakat) in extracted text. In certain PDFs, combining marks such as Damma (U+064F) could be attached to the wrong base character when the diacritic was spatially positioned between two Arabic glyphs with similar overlap.
  • SF46074 – Resolved a problem with WordFinder processing Thai diacritics.
  • SF46900 – Corrects an issue where updating Page Content could cause text contained within Marked Content to unexpectedly be located outside of the Marked Content.
  • SF47417 – Corrects an issue where updating Page Content could cause text contained within Marked Content to unexpectedly be located outside of the Marked Content.
  • SF47421 – Corrects a problem saving a DeviceN rendered image to a TIFF where the TIFFTAG_PHOTOSHOP tag data would be incorrect.
  • SF47454 – Fixes a Stack Overflow that could occur setting Page Content during PDF/A conversion for Property Lists that are improperly defined.
  • SF47481 – Rendering has been improved to be more resilient against problematic content that would previously raise an error. Some error strings that were meant to have a string format specifier used in combination with the non-fatal error argument were missing and have been added.
  • SF47530 – Corrects a problem where converting a document to PDF/A could misinterpret the CTM for an ImageMask in some cases.