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.4PlusP1g (September 15, 2022)

New Features:

  • SF#44577 – Adds the Bundle Name and Bundle Version to the Frameworks delivered on macOS.
  • SF#44750 – Edits the documentation for PDEContentAddPageEx() to better explain its behavior.
  • Removes the 32-Bit Linux License Managed platform.
  • Adds .NET Interface Nuget packages for Linux 64 and Windows 64 license managed platforms:
    • APDFL.LM.NETCore.18.6.4.nupkg
    • APDFL.LM.NETFramework.18.6.4.nupkg
  • Adds new Text Extraction samples in C++, .NET Framework, and .NET Core demonstrating text extraction:
    • From annotations.
    • From AcroForms on a PDF page.
    • From a region on the PDF page.
    • Based on a supplied pattern (regex).
    • Based on a supplied pattern (regex) with CJK or Unicode characters.
    • Info from multiple regions of multiple documents in a folder and output a CSV file. (ie Process multiple invoices)

Problem Corrections:

  • SF#44381 – Corrects an issue in which an OpenType font program identified as being TrueType by correcting the font identification entries.
  • SF#44546 – Corrects an issue in which glyphs were dropped from the page after Flattening.
  • SF#45154 – Corrects an issue in which a crash could occur when rendering a page with a corrupt JBIG2 image.
  • SF#45160 – Corrects an issue in which text glyphs could become .notdef's after Transparency Flattening.
  • SF#45173 – Corrects an issue in which PDEPathGetDataFloat() returns the incorrect size.
  • SF#45177 – Corrects an issue in which PDF/A fallback page rasterization creates corrupted image output at certain rasterization resolutions.
  • SF#45194 – Corrects an issue in which Flattening Transparency could result in improper drawing when a Singular Matrix was encountered.
  • SF#45195 – Adds support for preserving Text Extractability of glyphs using Type 3 Fonts when the permitType3Fonts member of PDFlattenRec struct is enabled.
  • SF#45201 – Corrects an issue in which Font Embed Subsetting could result in changed glyphs for an invalidly specified Type 0 font.
  • SF#45202 – Corrects an issue in which a crash could occur when rendering a page containing an invalid JBIG2 image or JPEG2000 image.
  • SF#45203 – Corrects an issue in which a crash could occur when rendering a document with a corrupted Font program.
  • SF#45207 – Corrects an issue in which downsampling of non-Indexed images with bpc of 2 or 4 would be incorrect using PDFOptimizer.
  • SF#45219 – Corrects an issue in which optimizing a document with an Image with a /Decode array could be mishandled.

 

 

APDFL v18.0.4PlusP1f (August 17, 2022)

New Features:

  • SF#45036 - Adds a new feature to keep valid Goto type Action entries after transparency flattening.
  • SF#45174 - Adds support for reading a multipage TIFF into an ImageCollection from a Stream to the .NET and Java interfaces.

Problem Corrections:

  • SF#44048 – Corrects an issue in which two distinguished fonts are merged when they shouldn't be.
  • SF#45052 – Corrects an issue in which decreased performance was observed when merging fonts.
  • SF#45086 – Corrects an issue in the security settings of the output created by the C++ AESEncryption sample
  • SF#45108 – Corrects an issue in which a crash could occur when saving a document with object compression
  • SF#45141 - Corrects an issue in which a shading object disappeared after an operation of each PDEContent object was acquired and set.
  • SF#45172 - Corrects an issue in which the output file size was very large when link annotations were copied during PDF/A conversion.
  • SF#45175 - Corrects an issue in which a crash could occur when rendering a page with a corrupt JBIG2-compressed image.
  • SF#45187 - Corrects an issue in which after first rendering with the SmoothImage flag enabled, a subsequent rendering without the SmoothImage flag would still act as if it was set.
  • SF#45188 - Corrects an issue in which rendering a page containing a valid JBIG2 image resulted in a blank page.

 

APDFL v18.0.4PlusP1e (July 18, 2022)

New Features:

  • Adds Unicode support to DocTextFinder.

Problem Corrections:

  • SF#44545 – Corrects an issue in which a Text Field that was malformed but had a valid Parent Field could be dropped during page insertion.
  • SF#45054 – Corrects an issue in which Flattening could be seemingly hang for documents with elements specified that extend past the page bounds.
  • SF#45057 – Corrects an issue in which an Acrobat preflight syntax error could occur after input file was flattened.
  • SF#45090 – Corrects an issue in which an exception could be raised optimizing a document with an ICCBased ColorSpace.
  • SF#45101 – Corrects an issue in which a crash could occur when rasterizing a PDF Page containing an invalid JPEG2000 image.
  • SF#45120 – Corrects an issue in which and error occurred calling dlpdfimagecreatefrompdf() when using the in-memory file system.

 

APDFL v18.0.4PlusP1d Release Notes (June 29, 2022)

New Features:

  • Updates open source International Components for Unicode (ICU) library to version 71.1.

Problem Corrections:

  • SF#43518 – Corrects an issue in which text was emitted during a shift when using Get or Set on the same form container. Introduces a new flag PDPrefSetStrictFormEmission which can be set to true to fix this.
  • SF#44388 – Corrects an issue in which searching for strings that had spaces in them caused the quads to be incorrect.
  • SF#44705 – Corrects an issue in which a crash could occur when converting a document to PDF/A.
  • SF#44815 – Improves flattened transparency performance.
  • SF#44860 – Corrects an issue in which certain fonts were being corrupted after flattening transparency.
  • SF#45063 – Corrects an issue in which an exception raised during optimization of a document was not properly released so it can not be deleted from the disk.
  • APDFL-3318 – Corrects an issue with hyphenated word handling in .NET and Java interface TextExtract samples.

 

APDFL v18.0.4PlusP1c Release Notes (May 17, 2022)

New Features:

  • SF#44586  – Adds an optional parameter to DeletePages() to bypass the Structural information of large documents that could be extremely slow to process.
  • SF#44698 – Adds a new member noValidationErrors to the PDFProcessorPDFXConvertParamsRec structure. When set to true, Implementation Limits will be ignored during the conversion.
  • SF#44746  – Adds new enumeration value cosOpenFilteredStrict. This works the same as cosOpenFiltered but will be more strict in that it will raise an exception for a problematic stream.

Problem Corrections:

  • SF#44213  – Corrects an issue in PDF 2.0 document saving with linearized or compress save flag in which the Document Info dictionary was incorrectly written on saving.
  • SF#44696  – Corrects an issue in which a crash could occur when calling PDWordFinderAcquireWordList() for some documents.
  • SF#44864  – Corrects an issue in which creating a Redaction annotation with no border specified, but a non-opaque fill-color opacity, would result in a border anyway.
  • SF#44931  – Corrects an issue in which adding a text run would corrupt the output document.
  • SF#44996  – Corrects an issue in which a crash could occur when calling the ChangeResolution() method of the image class when the image is very large in the .NET and Java interfaces.
  • APDFL requires libatomic and libuuid as supplied by the operating system on UNIX or Linux.

 

APDFL 18.0.4PlusP1b Release Notes (April 26, 2022)

New Features:

  • Incorporates Adobe's update to version 18.0.4.
    • Adds PDEFormIsLeadingSet API to correct and is in which characters were shifted when using PDEFormSetLeading().
    • Corrects an issue flattening PDFs with an Optional Content Membership Dictionary.
  • Updates open source Expat XML parser (expat) library to 2.4.8.
  • Updates open source Boost library to version 1.78.0 for Java and .NET interface.
  • SF#43434 – Adds the UserUnit property to the Page class.
  • SF#44859 – Improves PDF/A conversion when a document has Annotations using Unembedded Fonts.
  • SF#44967 – Improves PDF/A-2 or PDF/A-3 conversion when the .notdef glyph is used in Page Content.
  • SF#44971 – Adds DLI for the Mac ARM platform.
  • SF#45004 – Updates open source Zlib library to 1.2.12.

Problem Corrections:

  • SF#41757 – Corrects an issue in which PDF/A conversion could convert distinguished font files to the same name.
  • SF#43711 – Corrects an issue in which Flattener could create a blue rectangle box.
  • SF#44298 – Corrects an issue in which some type 3 font text could shift slightly after PDE round trip.
  • SF#44557 – Corrects a performance issue with PDF/A conversion when a document contains many Pages and Link Annotations.
  • SF#44653 – Corrects an issue in which a failed PDF/X conversion in the .NET or Java interfaces could lead to a crash.
  • SF#44740 – Corrects an issue in which a missing xref error could occur when saving a document after embedding font.
  • SF#44751 – Allows page insertion to complete when encountering an error in a document's structure tree when the AllowRelaxSyntax flag is set.
  • SF#44765 – Corrects an issue in the DotGain color profiles that ship in the Resources directory.
  • SF#44896 – Corrects an issue subsetting fonts on document save.
  • SF#44904 – Corrects an issue in the PDViewer sample in which displayed PDFs could be shifted right.
  • SF#44918 – Corrects an issue in which PDFOptimizerDiscardPageLabels didn't work as expected.
  • SF#44946 – Corrects an issue in which page rendering could hang on invalid JPG image data when found.
  • SF#44947 – Corrects an issue in the C++ Common sample code.
  • SF#44948 – Corrects an issue in which undefined behavior could occur if the CMap directory used for initialization of the Library was incorrect and font embedding was later attempted.
  • SF#44982 – Corrects an issue in which Optimizing a document to memory could crash when used in a multithreaded scenario.
  • SF#44995 – Corrects an issue in which emitting to a postscript file would not generate any output or indications of errors.
  • SF#45016 – Corrects an issue in which a crash could occur rendering a page containing a corrupt JBIG2 image.

APDFL 18.0.3PlusP3b Release Notes (March 28, 2022)

New Features:

  • SF#44824 – Adds support for importing TIFF Palette images (8bpc or less) to the Java and .NET interfaces.
  • SF#44925 – Updates open source Expat XML parser (expat) library to 2.4.6.

Problem Corrections:

  • SF#44695 – Corrects an issue rendering a document to the DeviceGray colorspace.
  • SF#44735 – Updates APDFL "RenderPage" sample to generate valid output with CCITTFaxDecode filter.
  • SF#44828 – Corrects an issue in which an indirect object parsing error could occur when saving a document if the RelaxedSyntax flag is set.

APDFL 18.0.3PlusP3a Release Notes (February 21, 2022)

New Features:

  • Improves PDF file compression when using PDF Optimizer.
    • The default Optimizer settings when using C++ by calling PDDocOptimizeDefaultParams() or creating the PDFOptimizer class in the Java and .NET interfaces have been changed to yield better results.
    • To restore previous default settings, set the optimizer option of interest to the desired value.
  • SF#44623 – Improves speed on macOS by increasing optimization in the AGM library.
  • SF#44875 – Updates open source Expat XML parser (expat) library to 2.4.4.
  • With this release, the Java and .NET Interfaces version has been increased to 18.0.3.36.

Problem Corrections:

  • SF#44831 – Corrects an issue in which imported GIF transparency could not be kept after import.
  • SF#44786 – Corrects an issue in which Shading objects could be deleted after optimizing.
  • SF#44852 – Corrects an optimizer issue where a corrupted font stream could be written.

APDFL 18.0.3PlusP2t Release Notes (February 10, 2022)

Problem Corrections:

  • SF#44627 – Corrects an issue in which some text was partially removed during rendering.
  • SF#44473 – Corrects an issue in which font was missing after files merged.
  • SF#44614 – Corrects an issue in which an annotation appeared incorrectly after flattening.
  • SF#44732 – Corrects an issue in which WordFinder breaks words differently.

APDFL 18.0.3PlusP2r Release Notes (December 28, 2021)

Enhancements:

  • SF#44275 – Adds a new API insertPagesWithCallBacks to Java and .NET Interfaces which includes cancelProc and progressMonitor callbacks.
  • SF#44633 – Improves the PDFOptimizerDiscardUnusedForms option to achieve a better result.
  • Adds a new method PDDocDeletePagesEx() in the C/C++ Interface which accepts a new parameter PDPageDeleteFlag to bypass the document's structural information. This is beneficial for large documents with complicated structural information that would otherwise be extremely slow to process.
  • Replaces open source GIF library 'libGD' with 'giflib' version 5.2.1 for Java and .NET Interfaces.

Problem Corrections:

  • SF#43542 – Corrects an issue in which a gif would display incorrect colors after import.
  • SF#44486 – Corrects an issue in which a gif would display incorrect colors after import.
  • SF#44555 – Corrects an issue in which a crash could occur when using PDPageDrawContentsToWindowWithParams() with certain documents.
  • SF#44616 – Corrects an issue in which a crash could occur in PDWordFinderAcquireWordList() when encountering a Font with unexpected glyph ligatures names.
  • SF#44630 – Corrects an issue in which PDWordGetCharQuad API with bullet input character returns the incorrect Quad value.
  • SF#44707 – Corrects an issue in which PDFOptimizerDiscardUnusedFonts could erroneously identify a font that is already in use.

APDFL 18.0.3PlusP2p Release Notes (November 18, 2021)

Enhancements:

  • SF#44569 – Updates the MergeDocuments C++ sample and the MergePDF .NET/Java samples to illustrate best practices for fastest processing of large documents.
  • SF#44654 – Allows saving a PDF with Incremental and Copy flags set in the .NET and Java interfaces.
  • SF#44668 – Improves Optimizer resiliency by not raising an error when encountering a problematic Annotation Appearance.

Problem Corrections:

  • SF#43546 – Corrects a DLI issue in which a Tiff image with tag Orientation became mirrored after converted to pdf.
  • SF#44199 – Corrects an issue in which a Pattern Resource Image eligible for downsampling would be skipped by mistake.
  • SF#44300 – Corrects an issue in which a PDF's black loses its transparency after round trip.
  • SF#44324 – Eliminates an "direct object already has a container" exception thrown when an image file is read into memory.
  • SF#44529 – Corrects a performance issue when converting a document to PDF/A that contained many annotations.
  • SF#44628 – Correct an issue in which the PDFOptimizerDiscardUnusedFonts option would erroneously identify a font in use in page content for removal.
  • SF#44651 – Corrects an issue optimizing JPEG2000 images with no ColorSpace specified using a different filter.
  • SF#44676 – Corrects a WordFinder issue in which text was extracted out of order.
  • SF#44692 – Corrects an issue with the string retrieved by the Text member of the Word class that could occur using Java on non-Windows platforms.
  • SF#44694 – Corrects an issue with how PDEImageRemoveIndexedColor() handles the current in-use filter.
  • SF#44700 – Corrects an issue with how color profiles are found on the system resulting in missing or incomplete list of ICC profiles.

APDFL 18.0.3PlusP2n Release Notes (October 28, 2021)

Enhancements:

  • SF#44012 – Updates PDFViewer sample to use the CropBox for better visual results.
  • SF#44531 – Improves performance of APDFL on Windows platform.
  • Improves opening a corrupt document with the Repair option to recover all pages that can be found without error.

Problem Corrections:

  • SF#42868 – Corrects an issue where a DeviceRGB image was not being recompressed when PDFOptimizerIncludeIndexedImages and PDFOptimizerDownsampleColor flags were set to false.
  • SF#44558 – Corrects an issue optimizing JPEG2000 images with no ColorSpace specified using a different filter.
  • SF#44588 – Corrects an issue in which the DocInfo Trapped key's value could be of the incorrect COS object type.
  • SF#44608 – Corrects an issue where using the FileAttachment class could result in a locked file.
  • SF#44621 – Corrects an issue where encountering invalid data could result in a out-of-bounds vulnerability.
  • Corrects an issue where a regular expression such as ".*" to extract all the text in a document could cause APDFL to hang and crash.
  • Corrects an issue in the C++ OutputPreview sample that could cause a crash.

APDFL 18.0.3PlusP2m Release Notes (September 27, 2021)

Enhancements:

  •  Adds the .NET Core Interface with Optical Character Recognition (OCR) on the Linux ARMv8 platform.
    • Currently, only the Linux ARMv8 platform has support for ARM64, so ARM64 targets are only valid for Linux and are not valid for Mac or Windows. They can safely be ignored for Mac and Windows.
  • Adds Optical Character Recognition (OCR) to the Java Interface on the Mac ARMv8 platform.
  • SF#41572 – Adds a new initialization flag kPDFLInitOnlyUseCustomColorProfilePaths. When used and the PDFLData member colorProfileDirList is set, then only the specified paths are searched, and the default paths searched by APDFL are ignored.
  • SF#43216 – Improves the PDFOptimizerDiscardUnusedFonts option to work more robustly in general as well as remove an unused font in its entirety.
  • SF#44446 – Adds the methods PDPrefGetAllowStringRetrievalFailingDecryption()/PDPrefSetAllowStringRetrievalFailingDecryption() to support retrieving String object values when decryption of an encrypted String fails.
  • SF#44480 – Enhances render process such that when relaxedSyntax flag is set. APDFL continues to render even after encountering Form XObject parsing error.
  • SF#44495 – Adds support for reading and writing 16-bit grayscale, uncompressed TIFF files to the Image class of the Java and .NET interfaces.
  • SF#44530 – Adds a new member to PageImageParams named UseDeviceNForImageSeparations. When calling the GetImageSeparations() method of the Page class, if this member is not set and only Process colorants are supplied as parameters the rasterization is done using DeviceCMYK, if this member is set the rasterization is done using DeviceN.
  • SF#44532 – Adds a SHA256 Digital Signature to the Windows DLI DLL.
  • SF#44538 – Adds support for reading and writing 48-bit RGB, uncompressed TIFF files to the Image class of the .NET and Java interfaces.

Problem Corrections:

  • SF#43729 – Corrects an issue in which inserting pages from a document with invalidly specified inherited page Resources resulted in missing page resources.
  • SF#43738 – Corrects an issue in which the /OpenAction entry reference to page became null after flattening a page.
  • SF#44154 – Corrects an issue in which an error could be raised calling PDOCMDFindOrCreateEx() on a document with a Page with a null annotation specified. Corrects an issue in which an error could occur saving using the PDSaveCompressed flag for an unusually specified Structure /ParentTree.
  • SF#44198 – Corrects an issue in which rendering a 16BPC image using a DeviceN colorspace with several colorants resulted in an empty image.
  • SF#44496 – Corrects an issue in which TIFF import could raise an error when the required XResolution/YResolution tags are missing in the Java and .NET interfaces.
  • SF#44499 – Corrects an issue in which the PDFOptimizer could identify a Text Pattern Resource image as being unused erroneously.
  • SF#44509 – Corrects an issue in which Rendering certain documents could hang when Smoothing was disabled.
  • SF#44529 – Corrects a performance issue when converting a document to PDF/A that contained many annotations.

APDFL 18.0.3PlusP2k Release Notes (August 26, 2021)

Enhancements

  • Adds the Java Interface with Optical Character Recognition (OCR) on the Linux ARMv8 platform.
    • The .NET Interface with Optical Character Recognition (OCR) is not yet available for this platform.
  • Adds the Java Interface on the Mac ARMv8 platform.
    • The .NET Interface and Optical Character Recognition (OCR) are not yet available on this platform.
  • SF#42783 – Improves the PDFOptimizerDiscardUnusedFonts option to work more robustly in general as well as remove an unused font in its entirety.
  • SF#43767 – Adds support for rendering a document with an invalid Text Scaling operator value when PDPrefSetAllowRelaxedSyntax() method is called with the value of true first.
  • SF#44333 – Adds support to PDPageDrawContentsToMemoryWithParams() to support rendering to a colorspace called DeviceCMYKA (40-bit). The RenderPage sample has been updated to illustrate how this can be done.
  • SF#44365 – Updates the macros kPDFLVersion and _PDFLHFT_LATEST_VERSION defined in the public headers to be inline with previous APDFL releases.
  • SF#44471 – Improves the PDFOptimizerDiscardUnusedFonts option to work more robustly in general as well as remove an unused font in its entirety. Adds the PDEGraphicFont, kPDEGraphicFont, PDEGraphicFontGetPDEFont() interfaces to public headers, reserved for Internal Use Only.

Problem Corrections

  • SF#43265 – The PDFOptimizerDiscardAnnotations option now does not apply to Widget annotations which can be removed using the PDFOptimizerDiscardAcroforms option. The PDFOptimizerDiscardComments option now applies to PopUp annotations.
  • SF#43589 – Corrects an issue in which a Base 14 font file could not be found on the operating system if the name varied slightly.
  • SF#44029 – Corrects an issue that could occur when rendering a Page with a Transparency Group specified.
  • SF#44257 – Corrects an issue to allow processing to continue when encountering invalid Annotation Content when calling PDWordFinderAcquireWordList() if the AllowRelaxedSytnax flag is set.
  • SF#44421 – Corrects an issue in which a crash could occur when compressing a very large image with a JPEG2000 filter.
  • SF#44444 – Corrects an issue in which the PDFOptimizerDiscardUnusedImages option could misidentify a used image as part of an Annotation Appearance. Adds the DiscardUnusedImages/DiscardUnusedFonts options to the Java and .NET interfaces.
  • SF#44446 – Removes the C++ ValidateSignatures sample.

APDFL 18.0.3PlusP2h Release Notes (July 30, 2021)

Enhancements:

  • Adds new platform: MacOSX ARMv8.
    • DLI and the Java and .NET Interfaces are not yet available for this platform.

Problem Corrections:

  • SF# 43797– Corrects an issue that could occur rendering the glyphs of the ZapfDingbat font when it's not embedded.
  • SF#44152 – Corrects an issue in which rendering a partially corrupt JPG image could result in no visible content.
  • SF#44197 – Corrects a text extraction issue where an Arabic accent character could appear in a non-Arabic word.
  • SF#44208 – Corrects an issue in which a crash could occur when rendering a document with a corrupt JBIG2 image or when rendering a document with a corrupt TrueType font program.
  • SF#44267 – Corrects an issue in the way PDFOptimizer determines the resolution of rotated images.
  • SF#44277 – Corrects an issue that could result in an error when printing a PDF to PostScript when encountering a null entry in a /DecodeParms array.
  • SF#44332 – Corrects an issue in which some Arabic characters could be out of order when searching for text with WordFinder.
  • SF#44352 – Corrects an issue resulting in a crash when parsing content stream by raising an appropriate exception.
  • SF#44356 – Corrects an issue in which the expandToFit parameter of the PDPrintParamsRec structure had no effect on macOS.
  • SF#44370 – Corrects an issue in which rendering text on the page using a Tab Character Code resulted in a .notdef glyph. Updates the .NET documentation to reflect the DrawContents(Bitmap, Matrix, Rect) overload of the Page class is deprecated in favor of the overload DrawContents(Bitmap, DrawParams).
  • SF#44385 – Corrects an issue adding new text to a page with a non-default Character Spacing could cause incorrect spacing.
  • SF#44407 – Corrects an issue rendering glyphs of a Type 1 Font with invalid XUID array size.
  • SF#44422 – Corrects an issue in which PDFOptimizerDiscardUnusedForms could mistakenly identify an Annotation Appearance Form as not being in use erroneously.
  • SF#44427 – Corrects an issue in which a crash could occur calling PDFindSysFont() when Long Path support is enabled on Windows.

APDFL 18.0.3PlusP2g Release Notes (July 15, 2021)

Enhancements:

  • Adds new platform: Linux ARMv8 (Java and .NET Interfaces are not yet available for this platform).
  • Updates open source Expat XML parser (expat) library to 2.4.1.

Problem Corrections:

  • SF#44278 – Corrects an issue in which the PDFOptimizer could identify a Text Pattern Resource image as being unused erroneously.

APDFL 18.0.3PlusP2f Release Notes (June 18, 2021)

Enhancements:

  • SF#44318 – Updates open source TIFF (libTIFF) library to version 4.3.0.

Problem Corrections:

  • SF#44014 – Corrects an issue in which Alternate File System creates an unwanted temporary file.
  • SF#44182 – Corrects an issue in which the Java and .NET Interfaces were outputting incorrect characters when scanned with OCR.
  • SF#44193 – Corrects an issue in which DocInfo CreationDate was updated when it already exists for PDF 1.x document.
  • SF#44238 – Corrects an issue in which wordFinder was missing some text.

APDFL 18.0.3PlusP2d Release Notes (June 1, 2021)

Enhancements:

  • Adds image processing enhancement to the OCR Engine to deskew and reduce noise from images for higher quality text extraction.
  • Adds new sample RegexExtractText to demonstrate how to extract text information using DocTextFinder and creates a JSON file using that information.

Problem Corrections:

  • SF#44156 – Enhances the behavior to continue to parse if RelaxSyntax flag is turned on when parsing an empty array from the content stream. By default, the exiting behavior is preserved which returns "Wrong operand Type" error. 

APDFL 18.0.3PlusP2a Release Notes (April 30, 2021)

Enhancements:

  • Adds a new API PDDocTextFinder to the C/C++ interface and a new API DocTextFinder to the .NET and Java interfaces.

NOTE: At this time, these APIs are available on Windows, Linux and Mac platforms.

    • Users may now use a regular expression to search the whole document for a word, phrase, or pattern.
    • The regular expressions that are passed to the API must use the ECMAScript syntax. For more information, please see: https://www.cplusplus.com/reference/regex/ECMAScript/.
    • Adds new sample AddRegexRedaction to demonstrate the usage of a regular expression to redact text from a PDF document.
    • Adds new sample RegexTextSearch to demonstrate the usage of a regular expression to highlight text in a PDF document.
    • Regular expression search of documents containing Unicode text is currently not supported.
  • Adds additional language support to the Java and .NET interfaces for applying optical character recognition (OCR) to detect and place text from images.
    • Users will need to provide Tesseract language files and fonts for the language.
    • Right-to-left languages are currently not supported.
  • Updates open source Expat XML parser (expat) library to 2.3.0.
  • SF#42976 – Adds a new member permitType3Fonts to the PDFlattenRec structure to permit Type 3 Fonts during Flattening. When set to true Type 3 Fonts are not changed during Flattening. When set to false Type 3 Fonts are rasterized which is the legacy behavior.
  • SF#43803 – Adds a new member permitType3Fonts to the PDFlattenRec structure to permit Type 3 Fonts during Flattening. When set to true Type 3 Fonts are not changed during Flattening. When set to false Type 3 Fonts are rasterized which is the legacy behavior.
  • SF#44157 – Adds a new property CandidateFontNames to the OCRParams class in service of customizing font family names to use for placing recognized text on the page of a document.

Problem Corrections:

  • SF#44149 – Corrects an issue in which OCR Engine could raise an exception on multiple threads.

APDFL 18.0.3PlusP1n Release Notes (March 19, 2021)

Enhancements

  • SF#43978 – Updates the common sample code to use best practices for saving documents.
  • SF#44064 – Enhances the behavior of saving a v2.0 document so that the DocInfo /ModDate is written out when a /PieceInfo /LastModified date entry is present.

Problem Corrections

  • SF#44056 – Corrects an issue in which the /ViewerPreferences key could be dropped during PDF/A conversion. Corrects an issue where the /Lang key could be dropped during PDF/A-1 conversion.
  • SF#44094 – Corrects an issue in which PDFOptimizerDiscardPieceData had no effect for Form XObjects.
  • SF#44104 – Corrects an issue in which a syntax error could occur in PDE round trip.
  • SF#44106 – Corrects an issue in which a crash could occur when calling CosDocSaveToFile().
  • SF#44133 – Corrects an issue in which a crash could occur when saving a document that was converted to PDF/A.
  • SF#44142 – Corrects an issue in which the PDFOptimizer Recompress flags would not be respected as set.

APDFL 18.0.3PlusP1m Release Notes (February 24, 2021)

Enhancements

  • Adds new platform: AIX 64-Bit for the Java interface.
  • Updates open source Boost library to version 1.75.0 for Java and .NET interface.
  • Updates open source Tesseract library to version 4.1.1.

Problem Corrections

  • SF#43673 – Corrects an issue that could occur when rendering a page in the multi-threading applications.
  • SF#43763 – Corrects an issue in which glyphs would not become visible when  converting PDF/A documents using Type 3 fonts.
  • SF#43783 – Corrects an issue that could occur in the content when rendering the page of a document.
  • SF#43863 – Corrects an issue in which DL180PDFLPINVOKE.dll and dltesseract3.dll properties were not being set correctly. NOTE: dltesseract3.dll has been replaced by dltesseract4.dll.
  • SF#44008 – Corrects an issue in which the OCR Engine was splitting words incorrectly.
  • SF#44095 – Corrects an issue in where a /FontDescriptor that was not specified properly was merged with a different font unexpectedly when PDSaveOptimizeFonts was set.

APDFL 18.0.3PlusP1k Release Notes (February 2, 2021)

Enhancements

  • Adds new platforms: AIX 32-Bit and AIX 64-Bit (without the Java or .NET Interfaces)
  • SF#43613 – Adds new parameters newAntiAlias and doThinLine to the drawContents API.
  • SF#43631 – Adds Myriad-Pro font variants to the Font Resources folder of the SDK.
  • SF#43760 – Adds a new option PDFOptimizerIncludeIndexedImages for the Optimizer to indicate if Indexed images are eligible for recompressing and/or downsampling. The default is true.
  • SF#43919 – Improves the SplitPDF sample for best practices.
  • SF#43922 – Corrects an issue in PDDocReplaceUnembeddedSimpleFonts() for replacement fonts that lack minimum required entries. Improves the functionality of PDDocReplaceUnembeddedSimpleFonts() by embedding the fonts replaced in the document and not requiring the document to be saved for the replacement operation to have an effect.
  • SF#43945 – Adds new method PDSysFontGetFullName() which can retrieve the Font's Full Name. This only applies to TrueType fonts.
  • SF#43976 – Updates open source TIFF (libTIFF) library to version 4.2.0.
  • Updates open source International Components for Unicode (ICU) library to version 68.2.
  • Adds the ConvertToZUGFeRD C++ sample to the SDK.

Problem Corrections

  • SF#40764 – Corrects a performance issue using PDFLPrintDoc() that could occur for some documents.
  • SF#43649 – Corrects an issue in which APDFL hangs when jpeg decoder ignores eCTJPEGErrorReadFailed error with unprocessed tile image data.
  • SF#43689 – Corrects an issue in which glyph rasterization is incorrect for TrueType fonts.
  • SF#43771 – Corrects an issue in which content is clipped when rendering a page of a document.
  • SF#43866 – Corrects an issue in which alternate text is created incorrectly during flattening.
  • SF#43882 (BlueCrest) – Adds a new member ignoreArtBoxForPDFPageWatermark to the PDDocAddWatemarkParamsRec structure.
  • SF#43946 – Corrects an issue in which date formatting was not correct in XMP build date info string.

APDFL 18.0.3PlusP1g Release Notes (December 23, 2020)

Enhancements

  • 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)

Enhancements

  • 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)

Enhancements

  • 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)

Enhancements

  • 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)

Enhancements

  • 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)

Enhancements

  • 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)

Enhancements

  • 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)

Enhancements

  • 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