Adobe PDF Library

Release Notes, Adobe PDF Library v 18

This page lists updates, fixes, changes and enhancements made to the Adobe PDF Library version 18 provided by Datalogics.

We also provide the release notes with the Adobe PDF Library software installation package.

APDFL v18.0.0PlusP1e (May 29, 2020)


  • Updates ICU to version 67.1
  • SF#43045 – Adds more progress monitoring events to PDF Optimization for processing fonts.

Problem Corrections

  • SF#41312 – Corrects an issue in which mis-ordered line construction caused out of place bounding boxes in WordFinder.
  • SF#43247 – Corrects an issue in which changing the PageInsertFlags enumeration value DoNotMergeFonts had no effect.
  • SF#43277 – Corrects an issue in which non-ASCII characters in PDFProcs.h were causing illegal character warnings.
  • SF#42468 – Corrects an issue in which resample could cause unexpected artifact during rasterization.
  • SF#42925 – Corrects an issue in which a crash could occur when calling PDEImageGetDataLen() for an invalid Image.
  • SF#43031 – Updates a sample API to correct an issue in which the RTL language strings were coming out in reversed order.
  • SF#43163 – Improves color fidelity across a Transparency Flattening of documents, particularly for PDF/X compliant documents.
  • SF#43189 / SF#43190 – Updates the DrawSeparations sample to work better with documents with Pages having a MediaBox sitting at the origin.

APDFL v18.0.0PlusP1d (April 27, 2020)


  • Replaces the sample document for FlattenAnnotations (FlattenAnnotations.pdf) to improve sample performance.
  • Integrates OCR into DLE for APDFL 18.
  • Replaces the AddWatermark sample with the new AddTextWatermark sample.
  • Upgrades ICU to version 67.
  • Upgrades libjpeg to version 9d.
  • Updates Boost to version 1.72.

Problem Corrections

  • Includes PDFLProdVer.h in the software installation package.
  • Corrects text extraction and a character quad issue for 180 degree rotated and right-to-left flow text.
  • Removes Non-ASCII characters from header files.
  • Extends PDDocReplaceOCG API to DLE in order to consolidate OCGs with same name.
  • Adds support to the ASTextFromPDText() method for Little Endian strings which normally are not allowed for a Unicode string in a PDF, when the AllowRelaxedSyntax flag is set.
  • Corrects an issue in which not specifying the profileDesc FlattenerParam member and flattening one page could lead to a shared ICC color profile being dropped from the output referenced on other pages.
  • Corrects an issue in which the sysFont prefix search algorithm would fail to match when the font name includes signs like “.” and “-” such as “0.67-15”.
  • Corrects an issue in which fallback page rasterization during PDF/A conversion could fail to work for a particular document.
  • Corrects an issue with PDF/A compliance with regard to CIDFonts.
  • Allows .notdef only character mapping in flattening process.
  • Corrects an issue in which an I/O error occurs when saving certain flattened files on the Mac platform.
  • Corrects an issue in which a  Stack Overflow exception occurs when saving a Document with a Structure Tree that has problematic elements.
  • Corrects an issue that could result in an exception when merging fonts in a document during optimization.
  • Corrects an issue in which applying a redaction on the page could result in an error if the page was currently open.
  • Corrects an issue with Color Conversion in which the Backdrop color of a Soft Mask Luminosity Group would not be converted as expected.
  • Corrects an issue in which not specifying the profileDesc FlattenerParam member and flattening one page could lead to a shared ICC color profile being dropped from the output referenced on other pages.
  • Corrects a small memory usage issue when the Flattener is used to flatten pages of a document. Corrects a small potential memory leak during APDFL termination.
  • Adds a new PDSaveFlag PDSaveLinearizedNoOptimizeFonts that will save Linearized without optimizing fonts which is often not needed and can lead to slow performance for font heavy documents.
  • Corrects an issue in which PDFOptimizer could skip optimizing an Indexed image with a DeviceGray base colorspace.
  • Corrects an issue in which the GenerateAppearance() method of the HighlightAnnotation class would not take the current Opacity into consideration.
  • Corrects an issue which could occur saving a file using compressed streams where one object stream had an unusual byte offset that was unexpected.
  • Corrects an issue in which the font directory passed during initialization could be mishandled internally.
  • Corrects an issue in which rendering a document could hide content on the page when encountering a malformed Pattern resource.
  • Corrects an issue in which not specifying the profileDesc FlattenerParam member could lead to the OutputIntent color profile being dropped from the output.
  • Corrects an issue in which retrieving the Fill ColorSpace values of the GraphicState of a TextRun could be incorrect.
  • Corrects an erroneous exception which could occur optimizing some documents due to an internal mismanagement of images to be optimized.
  • Correct an issue in which text extract results in characters appearing in the wrong order.
  • Corrects an issue in which unmapped show string characters are skipped by WordFinder.
  • Corrects an issue in which a document flattening and resolving overprints results in an error message.
  • Corrects an issue in which PDEImageGetAttrs() would not set the BitsPerComponent for JPEG2000 images using a Vendor defined colourspace.
  • Corrects an issue in which the flattening timeout period was being ignored and the document was not being rasterized as expected.
  • Corrects an issue rendering TrueType fonts with a POST table version of 3 that could occur.

APDFL v18.0.0PlusP1b Initial Production Release (March 9, 2020)

PDF version 2.0. Adobe PDF Library can now read and edit PDF 2.0 version PDF files.

Current open source software. With this release of Adobe PDF Library, we have updated a variety of open source vendor software products to the most current versions available:

  • International Components for Unicode (ICU) 65.1
  • Expat XML Parser (Expat) 2.2.9
  • Boost 1.71.0
  • iccProfLib 2.x/4.2
  • MoreFiles 1.5.4
  • MoreFilesX 1.0.1
  • zlib 1.2.11
  • libJPEG 9c
  • libTIFF 4.1.0
  • libPNG 1.6.37
  • bzip2 1.08
  • gsl_microsoft, 2.0
  • Leptonica 1.67
  • Tesseract 3.05.01

Black Point Compensation. The product now provides additional support for Black Point Compensation (BPC). BPC is a method that allows for adjustments in handling black text and graphics between digital files and printers and output devices. The Adobe RGB color space can offer a maximum possible black and white density for content in a digital document, which is beyond the capacity of most printers available. So BPC is used to adjust the density of black content in a file to match the capability of the intended printer or other output device. Black characters or content in images is mapped to the black available on the printer, and other tones are adjusted accordingly.

Expanded support for Output Intent. Adobe PDF Library now provides support for applying an Output Intent to an individual page in a PDF document, so that the value can vary from one page to another. A subtype, GTS_PDFX, GTS_PDFA, or ISO_PDFE1 can be added to the output profile as per the value passed to the appropriate API. An output intent is set of dictionaries stored in the PDF document’s OutputIntents array. More than one output intent may be imbedded in an output intent array within a PDF document, each with its own color profile and characteristics. This allows the PDF document to adapt to a variety of workflows or production environments. Each output intent features several dictionary key values, including OutputCondition and an OutputConditionIdentifier. Both of these values are text strings that describe the intended output device for this PDF document or the production environment.

PDEElement color space support. Support has been added for conversion to a PDEElement to a color space supplied by the user. The PDFEdit Layer (PDE) of the Adobe Acrobat API contains classes that provide for editing in PDF documents including color spaces, clip and page objects, fonts, form XObjects, and other objects. The PDEElement is a base class for PDE, used to derive a variety of elements within a PDF document, including text and XObjects.

UTF-16 support. The Library can now check if an encoding is 16 bit Unicode Transformation Format (UTF-16) or not. UTF-16BE is a Unicode character encoding method, mapping code points of each Unicode character set to a sequence of two bytes (16 bits).   UTF-16BE encodes, or serializes, Unicode characters into a byte stream so that the characters can be stored or distributed. The stream is divided into blocks of two bytes each, and each block of two bytes is converted to a 16-bit integer.

New APIs. These new APIs were added to Adobe PDF Library in version 18:

  • PDDocGetAdobePDFVersion
  • PDDocSetAdobePDFVersion
  • PDEExtGStateGetBPC
  • PDEExtGStateSetBPC
  • PDDocColorConvertEmbedOutputIntentEx
  • PDPageColorConvertEmbedOutputIntent
  • PDColorConvertPDEElementEx2
  • PDSysEncodingSetIsUTF16