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.3PlusP2g Release Notes (July 15, 2021)
- 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.
- 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)
- SF#44318 – Updates open source TIFF (libTIFF) library to version 4.3.0.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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.
- 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)
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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: