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 18.0.3PlusP1g Release Notes (December 23, 2020)


  • SF#43671 – Improves document saving when the version is PDF 2.0. The Document Info dictionary will not be written to the output as it is deprecated in PDF 2.0.
  • SF#43731 – Adds new members ICCProfile and ICCProfileCustomPath to the PageImageParams class and DrawParams class for the .NET and Java interfaces.
  • SF#43736 – Adds new member flattenNoLimit to PDPageDrawParams structure.
  • SF#43747 – Adds support for setting a Colour Key mask when importing a Transparent GIF in the .NET and Java interfaces.
  • SF#43775 – Adds digital signature to DLE libraries.
  • Updates open source ICU library to version 68.1.
  • Updates open source Expat XML parser (expat) library to 2.2.10.

Problem Corrections

  • SF#43230 – Corrects an issue in which the selection of spill file did not use the currently defined temp file system.
  • SF#43364 – Corrects a crash that could occur during page insertion for a document with particular form fields.
  • SF#43508 – Corrects an issue in which PDDocDeletePages() caused Page Destinations to become invalid as the pages were now gone and the destinations themselves are now removed.
  • SF#43632 – Corrects an issue in which PDEFontCreateToUnicodeNow() was not working as expected for unembedded fonts.
  • SF#43662 – Corrects an issue in which a font directory passed during initialization could be mishandled internally.
  • SF#43677 – Corrects an issue in which drawn lines were not the correct line width when using illegal ExtGState parameters.
  • SF#43681 – Corrects an issue in how a PDF page is rendered when the user did not specify the UpdateRect.
  • SF#43691 – Corrects an issue in which a crash could occur when calling PDPageAcquirePDEContent() for a particular document.
  • SF#43705 – Corrects issues adding a Text Watermark when the CropBox of the page is not situated at the origin and adding a Text Watermark which could result in a PDEObject error. Adds the WatermarkDrawOption member to WatermarkParams of the .NET and Java interfaces.
  • SF#43710 – Corrects an issue in which PDDocGetVersionEx() did not return the correct result for documents specifying a certain Extension Level.
  • SF#43723 – Corrects an issue in which subsequent calls to dlpdfimagecreatefromASFile() did not respect the DLImageCreateParamsRec.pageNum value after its initial call.
  • SF#43727 – Corrects an issue in which Form XObjects that did not have Resources defined independently lead to an empty rendering.
  • SF#43728 – Corrects an issue in which a system font used for rendering could not be found on some systems.
  • SF#43745 – Clarifies the usage of EnableLicensedBehavior() when using a Render key.
  • SF#43758 – Corrects an issue when PDDocReplaceUnembeddedSimpleFonts() for replacement fonts that lack minimum required entries.
  • SF#43781 – Corrects an issue that could occur when decoding a JBIG2 image found on the page of a PDF.

APDFL v18.0.3PlusP1e (November 4, 2020)


  • SF#43682 – Adds a new method PDDocReplaceUnembeddedSimpleFonts() which replaces unembedded, simple (not Type 0) fonts with different fonts.

Problem Corrections

  • SF#43634 – Corrects an issue in which flattening transparency on a page could result in empty content.
  • SF#43696 – Corrects an issue occurring after a PDDocColorConvert() action in which a page was displayed incorrectly on Edge.
  • SF#43697 – Corrects a regression in which flattening the page could result in rasterized text.
  • SF#43084 – Corrects an issue where a glyph could be drawn incorrectly during PDF to EPS conversion.

APDFL v18.0.3PlusP1c (October 1, 2020)


  • SF#43577- Allows multiple installations of APDFL on Windows systems where users must manually remove old installations.
    • The APDFL 18.0.3PlusP1c Windows Installer supports installing the SDK to multiple locations.
    • To enable this feature, uninstall APDFL 18.0.3PlusP1a first before attempting to install APDFL 18.0.3PlusP1c.
    • To retain the prior APDFL 18.0.3PlusP1a data, make a copy of the installation folder to a different location before uninstalling.
  • Adds new platforms: SPARC Solaris 32-Bit (without Java and .NET interfaces) and SPARC Solaris 64-Bit (with Java and .NET interfaces).
  • SF#43359 - Adds new EncryptionType enumeration values supporting older RC4 type encryption.
  • SF#43550  – Adds support in the .NET and Java interfaces for exporting images using an Indexed colorspace and a Soft Mask to PNG or TIFF.

Problem Corrections

  • SF#43389  – Corrects an issue in which thumbnails were not being generated consistently.
  • SF#43480  – Corrects an exception that could be raised during page insertion for some documents.
  • SF#43483 – Corrects some minor issues in the OpticalCharacterRecognition samples.
  • SF#43525  – Corrects an issue where there was missing content when the page was rendered.
  • SF#43531 –  Corrects an alignment issue where referenced embedded files were not being rendered.
  • SF#43532 – Corrects a regression in which an artifact of an XObject's dash pattern was being drawn in the wrong position during rendering.
  • SF#43536  – Corrects an issue where PDPageSetPDEContent() would not respect the FillColorSpec for an ImageMask after it had been set using PDEElementSetGState().
  • SF#43538 – Corrects an issue where PDDocEnumFonts() could raise an improper error for a valid font.
  • SF#43548  – Corrects an issue where the DLI dll resources weren't set.
  • SF#43615  – Corrects an issue that could occur doing Color Conversion of Color Key Masked images.
  • SF#43238 – Corrects an issue where page insertion could erroneously drop Annotations/Fields from the page.

APDFL v18.0.3PlusP1a (September 3, 2020)


  • Incorporates changes from Adobe, Inc. for the Adobe PDF Library 18.0.3 update.
    • Adds support for UTF-8 character encoding as per PDF 2.0 specification
    • Updates CMaps and Font resources to support Japanese new era characters
    • Discontinues support for Windows 7
    • Adds support for Soft Mask Matrix in External Graphics State. New APIs: "PDEExtGStateGetSoftMaskMatrix" and "PDEExtGStateSetSoftMaskMatrix"
    • Adds support for Leading in the parent of Form. New APIs: "PDEFormGetLeading" and "PDEFormSetLeading”
    • Adds a new parameter weight of type unsigned integer in PDEFontAttrs structure
  • Extends Adobe PDF Library to support Microsoft .NET Core 3.1 on Windows, Linux, and Mac platforms.
  • Adds a list of open source software to C++ Documentation directory.
  • Adds new document "Working With DotNET Core.pdf" to the DotNETCore Documentation directory.
  • Updates installation process for Windows and Linux.

Problem Corrections

  • SF#43338 – Corrects a regression in which text stroke weight changed when page content was set.
  • SF#43419 – Corrects a divide by 0 exception that could occur during Color Conversion.
  • SF#43289 – Corrects a regression in which some characters could be misplaced after flattening.
  • SF#43448 – Corrects an OpenType font loading issue in Flattener that could result in a "missing head table" error.
  • SF#43456 – Corrects a multithreaded deadlock issue that could occur in DLE when GetImage() hangs when called by multiple threads.

APDFL v18.0.0PlusP1k (July 27, 2020)


  • SF#39633 / SF#39839 – Adds the ability to print to different paper sources for different page ranges in the PDF document for Windows systems.
  • SF#42274 – Adds support for third party soft printer behavior in Windows to no longer print blank pages when StartDoc/EndDoc functionality was used along with the print parameter (setPageSize).

Problem Corrections

  • SF#43333 – Corrects an issue in which an incorrect page number could be written to the PostScript comments when printing.
  • SF#43314 – Corrects an issue in which GState creation with a singular matrix could cause images to disappear in PDERoundTrip.
  • SF#43336 – Corrects an issue in which updating a Pages Content could ruin the text output on the page due to unsupported operand value ranges. An error is now raised to prevent this scenario, unless the Relaxed Syntax preference is enabled.
  • SF#42148 – Corrects an issue in which PDE round trip could cause text to be missing or positioned incorrectly due to misplaced text in a Form XObject on Windows.
  • SF#42958 – Corrects an issue in which dlpdfimagecreatefromfile() could return a reversed result for a monochrome TIFF image with a missing PhotometricInterpretation tag.
  • SF#43240 – Corrects an issue in which PDEFontCheckASTextIsRepresentable() could return an incorrect result for certain TrueType fonts using a Windows platform-specific Symbol encoding.
    SF#43373 – Corrects an issue in which an image was partially removed during rendering.

APDFL v18.0.0PlusP1g (July 13, 2020)


  • DLI is now available for all platforms.

Problem Corrections

  • SF#39740 – Improves the cancelProc callback used when invoking PDFLPrintDoc() to end printing more quickly.
  • SF#43320 – Improves the RasterizePage sample to render annotation appearances by default.
  • SF#43353 – Corrects an issue in the relative RPATH support for Linux and Solaris.
  • SF#42252 – Corrects an issue in which a type 3 font has colored glyph was turned into black during rasterization.
  • SF#42506 – Corrects an issue in which calling the public header CorCalls.h results in a MinGW compiler warning.
  • SF#42793 – Corrects an issue in which a hang could occur when reading a problematic JPG image stream that previously would error out as expected.
  • SF#43048 (IMM) – Corrects a memory leak with the Tesseract3Engine's setImage() methods within OCRBox. This leak no longer manifests in OCR samples like DLE's AddTextToDocument sample.
  • SF#43209 – Corrects an issue in which an exception could be raised when dlpdfimagecreatefrompdf() was passed a file path that used UTF-8 encoding.
  • SF#43239 – Corrects an issue in which the Postscript created from a PDF containing a JPG containing a DNL marker would fail to open in Adobe Distiller.
  • SF#43304 – Corrects an issue in which some glyphs were rendered incorrectly for a specific font.
  • SF#43310 – Corrects an issue in which transparency was not removed from widget annotation with CosStream entry when flattened.
  • SF#43337 – Corrects several issues in handling the save/restore when writing PDFContent to a stream which resulted in large blocks of missing text.
  • SF#43343 – Corrects an issue in which bounding rectangles overlapped after text extraction.
  • SF#43387 – Corrects an issue in Flattener that subset fonts as OpenType fonts which resulted in "Some characters may not display correctly" error while opened by Acrobat DC.

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