Release Notes, Adobe PDF Library v18

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

APDFL v18.0.4PlusP2r (February 21, 2024)

New Features:

  • Updates .NET Framework nuget package to support x86.
  • Updates libtiff open source component to version 4.6.0.
  • Updates libpng open source component to version 1.6.42.
  • Updates zlib open source component to version 1.3.1.
  • Updates expat open source component to version 2.6.0.
  • With this release, the Java and .NET Interfaces version has been increased to 18.0.4.32.
  • With this release, the Nuget package version has been increased to 18.32.0.
  • With this release, the Maven package version has been increased to 18.32.0.

Problem Corrections:

  • SF#44841 – Corrects an issue where updating Page Content could cause a Marked Content sequence nested within a Text Block to be emitted in the wrong order.
  • SF#45834 – Corrects a problem where an error could occur rendering a PDF page with a very large JPEG-compressed image.
  • SF#45890 - Corrects an issue where Encrypting a PDF with structural tags and then saving it would cause its size to inflate.
  • SF#46085 – Corrects a problem when saving a Document using the RemoveASCIIFilters option would cause an image with an ASCII filter to become corrupt.
  • SF#46111 – Corrects an issue where attempting to retrieve data from a JPG image stream on a PDF page could raise an exception unexpectedly.
  • SF#46115 - Corrects an issue with the Flattener option permitType3Fonts, where the /ToUnicode mapping could have inconsistencies.
  • SF#46123 - Updates RenderPage sample to consider page groups.
  • SF#46149 - Corrects an issue where Encrypting a document and then attempting to do a Full Save would result in a confusing exception using the .NET or Java interfaces.

 

APDFL v18.0.4PlusP2p (January 24, 2024)

New Features:

  • With this release, the Java and .NET Interfaces version has been increased to 18.0.4.31.
  • With this release, the Nuget package version has been increased to 18.31.0.
  • With this release, the Maven package version has been increased to 18.31.0.

Problem Corrections:

  • SF#46039 – Improves downsampling of images during optimization that were problematic to downsample previously.
  • SF#46061 – Corrects an issue in which an intermittent crash could occur on macOS in a multithreaded scenario rasterizing a complicated path.
  • SF#46071 – Corrects an issue in which a crash could occur when rendering a complicated path at certain resolutions.
  • SF#46106 – Changes the enumeration value kPDFProcessorConvertToPDFX42008 to kPDFProcessorConvertToPDFX42010 in the C/C++ interface;
    • Adds a new member ignoreColorConversion to the PDFProcessorPDFXConvertParamsRec structure of the C/C++ interface which should be used when no colors need to be changed to achieve compliance.
    • Corrects an issue in which conversion of a document with Optional Content did not persist to the output when targeting PDF/X-4 or PDF/X-6.

     

    APDFL v18.0.4PlusP2m (December 26, 2023)

    New Features:

    • The System.Drawing.Common Nuget package dependency has been completely removed from the .NET library, any public APIs using members from that namespace have been removed.
      • SkiaSharp is already used and shown in our sample code to facilitate drawing to a bitmap. The System.Drawing.Common package only worked on Windows and is not suitable for .NET applications which are cross-platform https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only.
      • The .NET Framework library however continues to use System.Drawing.dll and should be used if you need to render to a System.Drawing.Bitmap.
    • With this release, the Java and .NET Interfaces version has been increased to 18.0.4.30.
    • With this release, the Nuget package version has been increased to 18.30.0
    • With this release, the Maven package version has been increased to 18.30.0.

    Problem Corrections:

    • SF#45799 – Corrects an issue in which glyphs could become .notdef glyphs when subsetting a Type 1 font.
    • SF#45878 – Corrects an issue in which rendering a very large image on a PDF page could result in missing content.
    • SF#45914 – Improves rendering for a Soft Mask with an incorrectly specified Backdrop color to be more forgiving.
    • SF#45940 – Corrects an issue in which creation of a font's /ToUnicode CMap entry could contain invalid syntax for the Destination Code.
    • SF#45957 – Improves the preservation of Text Extractability after Flattening a document when the permitType3Fonts option is used in the C/C++ interface.
    • SF#45987 – Improves font lookup on the OS.
    • SF#46036 – Renames some members of the CircleAnnotation, LinkAnnotation, and SquareAnnotation classes of the .NET and Java interfaces so as to be less misleading; Width is now BorderStyleWidth, Style is now BorderStyle, DashPattern is now BorderStyleDashPattern.
    • SF#46040 – Corrects an issue in which using the DrawContents() overload of the .NET and Java interfaces that support a List of SeparationColorSpaces could result in scrambled output.
    • SF#46064 – Corrects an issue in which using the DrawContents() overload of the .NET and Java interfaces that support a List of SeparationColorSpaces could result in scrambled output.

     

    APDFL v18.0.4PlusP2k (November 28, 2023)

    New Features:

    • Adds suppport for PDF/A-4 conversion to the C/C++ interface.
    • Adds support for PDF/A-4 conversion to the .NET and Java interfaces.
    • With this release, the Java and .NET Interfaces version has been increased to 18.0.4.29.
    • With this release, the Nuget package version has been increased to 18.29.0
    • With this release, the Maven package version has been increased to 18.29.0.

    Problem Corrections:

    • SF#45872 – The static APDFLVersion member of the Library class of the .NET and Java interfaces now returns a value, as in legacy versions of APDFL; The static DLEVersion member of the Library class of the .NET and Java interfaces now returns a value, as in legacy versions of APDFL.
    • SF#45924 – Corrects an issue in which the .ppi plugin libraries did not have their version information set on Windows.
    • SF#45956 – Changes the default values of an instance of the FlattenTransparencyParams class of the .NET and Java interfaces to yield a better result.
    • SF#45962 – Corrects an issue in which opening a PDF over 4GB from memory in the .NET or Java interfaces results in an error.
    • SF#45967 – Corrects an issue in which a crash could occur when Flattening a PDF Page with an atypical path.
    • SF#45973 – Adds a new member ignoreOverprint to the PDFlattenRec structure in the C/C++ interface. When set to true, only Pages with Transparency features will be Flattened; When false Pages with Transparency or Overprint will be Flattened (legacy behavior).
    • SF#45986 – Improves performance when adding an existing Page's Content into another Page's Content as a Form that could occur for some documents with a complicated structure.
    • SF#45988 – Corrects an issue in which Flattening a document with the permitType3Fonts option could drop some glyphs because of an internal error.
    • SF#45993 – Optimizes code in internal APIs to increase vector graphics performance in certain situations.
    • SF#45998 – Corrects an issue in which converting a document to PDF/A-1b could result in a document that wasn't compliant.

     

    APDFL v18.0.4PlusP2f (October 16, 2023)

    New Features:

    • Office Conversion is now available on 64-bit Linux platforms.
    • The ConvertToOffice C++ sample is now available on Linux.
    • Corrects an issue in which subsetting a Type 0 Font could result in dropped glyphs on the page in some cases.
    • With this release, the Java and .NET Interfaces version has been increased to 18.0.4.26.
    • With this release, the Nuget package version has been increased to 18.26.0.
    • With this release, the Maven package version has been increased to 18.26.0.

    Problem Corrections:

    • SF#45361 – Corrects an issue in which vertical text could shift after flattening the document.
    • SF#45607 – Corrects a problem where some content could be missing for complicated documents when specifying a List of SeparationColorSpace objects to create a Page Rendering.
    • SF#45663 – Adds the new print parameter 'useCustomPaperSize' which allows a user to bypass APDFL search for best paper tray size match and assumes the paper size matches the dimensions specified by the PaperWidth and PaperHeight parameters. SetPageSize must also be set to true. Windows Only.
    • SF#45795 – Improves the quality of the PDF document whose images have had OCR performed in the .NET and Java interfaces.
    • SF#45855 – Improves the performance for retrieving bookmark Page Numbers from large PDF documents with many pages.
    • SF#45886 – Corrects an issue in which Flattening Transparency could result in a crash when the permitType3Fonts parameter was enabled for some documents.
    • SF#45887 – Corrects an issue in which a user could convert a document to PDF/A-3u that was not compliant with regard to Text mapping to Unicode, when this is not possible the conversion now raises an exception.
    • SF#45894 – Corrects a stack overflow that could occur converting a document to PDF/A when the document contained many annotations.
    • SF#45895 – Corrects an issue generating Separations images using the GetImageSeparations() method of the .NET or Java interfaces on non-Windows systems when encountering invalid Separation Colorant names.
    • SF#45900 – A new property ColorantNameArray has been added to the Ink class of the .NET and Java interfaces; This property is suitable for retrieving the name when the ColorantName can't be retrieved as a string.
    • SF#45902 – Corrects a Stack Overflow error that could occur when adding a very complicated Page as as Form to another Page's Content.
    • SF#45907 – Corrects an issue in which the ListInks() method of the Document class could return duplicates for some documents using the .NET or Java interface.
    • SF#45909 - Corrects a performance issue converting a document to PDF/A when it contains many annotations.
    • SF#45916 – Corrects an issue in which a crash could occur when attempting to render a corrupt PDF document.

     

    APDFL v18.0.4PlusP2c (September 5, 2023)

    New Features:

    • Creates new NuGet package Adobe.PDF.Library.Resource containing the APDFL Runtime Resources.
    • Creates new NuGet package Adobe.PDF.Library.SampleInput containing the Sample Input file.
    • With this release, the Java and .NET Interfaces version has been increased to 18.0.4.23.
    • With this release, the Nuget package version has been increased to 18.23.0.
    • With this release, the Maven package version has been increased to 18.23.0.

    Problem Corrections:

    • SF#45649 – Corrects an issue where Flattening Transparency of a document could result in a Type 3 Font having its' /ToUnicode entry have improper base font entries when the permitType3Fonts Flattener parameter was enabled.
    • SF#45814 – Corrects an issue where Text could disappear after the associated font was resubset for some documents.
    • SF#45821 – Corrects an issue that could occur when a PDF Page has a Transparency Group when the function dlpdfcontenttopage() is called in the DLI interface.
    • SF#45839 – Corrects an issue where optimizing a document with an unusually specified /DecodeParms entry could raise an exception erroneously.
    • SF#45862 – Corrects an issue where a Font used by Invisible Text would be subset leading to a loss of Text Extractability.

     

    APDFL v18.0.4PlusP2b (August 2, 2023)

    New Features:

    • SF#45777 - Improves support for PDF/A Parts 2 and 3 compliance with the addition of Level A options.
    • SF#45826 – Adds a new method GetOutputPreviewImage() to the Page class of the .NET and Java interfaces.
    • With this release, the Java and .NET Interfaces version has been increased to 18.0.4.22.
    • With this release, the Nuget package version has been increased to 18.22.0.
    • With this release, the Maven package version has been increased to 18.22.0.

    Changes:

    • Updates open source PNG (libPNG) library to version 1.6.40.
    • Updated the open source tiff library to version 4.5.1.

    Problem Corrections:

    • SF#45726 - Improves the usability of ASFileSysDisplayStringFromPath() when using the in-memory file system to support longer paths.
    • SF#45758 - Corrects an issue where retrieving the Style information from Extracted Text could be incorrect in some cases.
    • SF#45768 - Corrects an issue where the ListInks() method of the Document class of .NET or Java, could throw an exception when encountering a Spot Colorant with an incorrectly specified Name.
    • SF#45787 – Corrects an issue where the function PDDocColorConvertPageEx() wouldn't return true to indicate a conversion failed as expected.
    • SF#45805 – Corrects an issue where an image could disappear from the content on the page after being Optimized when a /Decode array was mishandled.
    • SF#45811 – Improves office conversion library to now only required to be distributed if you intend to use PDF to Office functionality.

     

    APDFL v18.0.4PlusP2a (July 5, 2023)

    New Features:

    • SF#45386 - 64-Bit AIX has returned as a deliverable platform with this release; This platform is now built on AIX 7.2.
    • SF#45735 - Adds PDF/X-6 support, via a new value kPDFProcessorConvertToPDFX62020 that has been added to the PDFProcessorPDFXConversionOption enumeration.
    • With this release, the Java and .NET Interfaces version has been increased to 18.0.4.21.
    • With this release, the Nuget package version has been increased to 18.21.0.
    • With this release, the Maven package version has been increased to 18.21.0

    Problem Corrections:

    • SF#45728 - Corrects an issue that could occur when Color Converting a document with an image that has a chained image filter.
    • SF#45733 - Corrects an issue that could be occur when rendering a Page as if Printed and a very large Dash Phase value was encountered.
    • SF#45746 - Adds a new member disableInitialDocumentIndexing to the PDColorConvertParamsRecEx struct in order to improve performance for converting a single page of a large document (in terms of pages).
    • SF#45680 - During insertion of Pages from one document to another, the merging of Structure Elements which normally would be excluded because they lack meaningful purpose are now included in order to better serve PDF Accessibility requirements. The recently added PDInsertStructureElementsEvenIfKidsNotUsedOnPage flag has been removed as it was found to not be useful in practice.

     

    APDFL v18.0.4PlusP1z (June 8, 2023)

    New Features:

    Problem Corrections:

    • SF#45461 - Corrects an issue where Color Conversion could result in hidden content when a matrix contained very large values.
    • SF#45471 - Corrects an issue where a Form/BBox with very large values could be ignored during Rendering caused content to be missing in the output.

     

    APDFL v18.0.4PlusP1y (May 9, 2023)

    New Features:

    • Adds new ConvertToOffice functionality:
      • Adds DocumentConversion sample ConvertToOffice to the C/C++ SDK, Windows only
      • Adds ConvertPDFToWord(), ConvertPDFToExcel(), and ConvertPDFToPowerPoint() functions to support PDF to Office conversion on Windows
      • Adds ConvertToWord(), ConvertToExcel(), ConvertToPowerPoint() static methods to the Document class of the .NET and Java interfaces, on Windows only
      • Adds a new DocumentConversion sample ConvertToOffice
    • Updates open source jpeg library to version 9e
    • Updates open source libpng library to version 1.6.39
    • Updates open source tiff library to version 4.5.0
    • SF#45633 - Adds a new page insertion flag PDInsertStructureElementsEvenIfKidsNotUsedOnPage to the C/C++ interface to permit merging Structure Elements which normally would be excluded unless the PDInsertAll flag was used in its place
    • With this release, the Nuget package version has been increased to 18.18.1

    Problem Corrections:

    • SF#45460 - Corrects an issue in which color could be rendered incorrectly when specifying a RenderIntent of AbsoluteColorimetric while rendering a document
    • SF#45616 - Corrects a performance issue that could occur for some documents during Color Conversion when a significantly sized ICC profile was used
    • SF#45632 - Corrects a performance issue during PDF/A-1 conversion; Flattening now times out after 2 minutes and defaults to a bitmap rendering instead of a vector/raster balanced Flattener result which can take a very long time to complete
    • SF#45647 - Corrects an issue that could occur in multi-threaded .NET applications” under Customer Case Resolutions

     

    APDFL v18.0.4PlusP1u (April 3, 2023)

    New Features:

    • SF#45441 - Adds support for ignoring an Object Label exception when processing a problematic document if the RelaxedSyntax flag is set.
    • SF#45479 - Adds support for rendering a Page with a problematic Inline Image when the RelaxedSyntax flag is enabled.
    • With this release, the Nuget package version has been increased to 18.15.0.

    Problem Corrections:

    • Improves the output size for TrueType font programs when possible for Re-subsetting using the PDFOptimizer.
    • Corrects an issue in which an erroneous exception could be raised attempting to Optimize a document.
    • Corrects an issue in which rendering a Page with an Invalid Dash Phase specified could hang.
    • SF#45294 – Corrects an issue in which memory corruption could occur when Color Converting an Image with a Separation colorspace.
    • SF#45389 – Corrects an issue in which saving a document using the RemoveASCIIFilters flag resulted in a corrupted image.
    • SF#45410 – Corrects an issue in the C++ Print common code in which the Flattener Transparency Quality was not being properly set. NOTE: The TransQuality member of the PDFLPrintUserParamsRec struct is now available on Non-Windows platforms.
    • SF#45417 – Corrects an issue in which PDF/X-4 conversions could result in very large increases in image size; Corrects an issue in which PDF/X-4 conversions could misplace an Image relative to its SMask image.
    • SF#45418 – Corrects an issue which could occur when optimizing an Image with a Soft Mask containing a /Matte entry.
    • SF#45422 – Corrects an issue in which rotated images were erroneously downsampled during optimization.
    • SF#45447 – Corrects an issue in which an error could occur while calling dlpdftextadvance() when using the in-memory filesystem.
    • SF#45491 – Corrects an issue in which rendering a portion of a Rotated Page could sometimes result in truncated content when using the .NET or Java interfaces.
    • SF#45541 – Corrects an intermittent crash that could occur while flattening a page with an atypical JPG compressed image.
    • SF#45569 – Corrects an issue in which a Linearized Save would hang when processing a Document that has Circular References. NOTE: This changes PDFL's Save with Linearized behavior when processing documents that suffer from Circular Recursion, now an explicit error is raised indicating the problem. This can be caught and handled, if the user still wishes to save they can re-attempt to do so without the Linearized flag.
    • SF#45577 – Corrects and issue in which rendering a document with very large values could result in some content not being drawn.
    • SF#45579 – Correct an issue in which an Image with a SMask could be downsampled incorrectly.

    APDFL v18.0.4PlusP1s (February 10, 2023)

    New Features:

    • With this release, the NuGet package version has been increased to 18.13.0.

    Problem Corrections:

    • SF#45440 - Corrects an issue in which some images could be skipped during Color Conversion; Corrects an issue in which DeviceGray elements would be converted improperly during Color Conversion.
    • SF#45453 - Improves Text Extraction processing when encountering a problematic PDF Annotation if RelaxedSyntax is enabled.

     

    APDFL v18.0.4PlusP1p (January 6, 2023)

    New Features:

    • SF#45300 - Adds a new save flag PDSaveOptimizeObjects has been added which behaves in the same manner as PDSaveOptimizeXObjects except it also includes Fonts; This is the recommended flag be used going forward. The option PDFOptimizerDiscardDuplicateForms is now off by default and the new option PDFOptimizerDiscardDuplicateObjects is now on by default.
    • SF#45157 - Adds a new method SaveToStream() to the FileAttachment class of the .NET and Java interfaces.

    Problem Corrections:

    • SF#45099 – Corrects an issue in which converting particular documents to PDF/A resulted in incorrect PDF/A compliance.
    • SF#45319 – Corrects an issue in which subsetting an invalidly specified Fully Embedded font could result in glyphs being displayed as .notdef's by some viewers; Subsetting is now avoided in such a case.
    • SF#45340 – Corrects an issue in which the DiscardUnusedForms option could misidentify Appearance Stream forms for removal.
    • SF#45382 – Corrects an issue in which image size could moderately increase during PDF/A-2 or 3 conversions; The C++, Java, and .NET samples have been updated to default to target PDF/A-3b.

     

    APDFL v18.0.4PlusP1n (December 2, 2022)

    New Features:

    • SF#45308 – Adds conversion to PDF/X-4 via a new enumeration value kPDFProcessorConvertToPDFX42008 for the C/C++ interface.
    • SF#45308 – Adds a new enumeration value PDFXConvertType.X4 to the .Net and Java interfaces.
    • The modern .NET 6 SDK is now delivered in a folder referred to as .NET and the older .NET Framework SDK is now delivered in a folder referred to as .NET Framework; Documentation has been clarified to reflect these changes.
    • Updates open source International Components for Unicode (ICU) library to version 72.1.
    • Updates open source Expat XML parser (expat) library to version 2.5.0.
    • Updates open source Zlib library to version 1.2.13.
    • Update open source JPEG library to version 9e in the .Net and Java interfaces.

    Problem Corrections:

    • SF#45156 – Improves the Attachments property of the Document class to not raise an exception if a document does not contain any attachments. Corrects an issue in which Page Annotation FileAttachments were not returned.
    • SF#45274 – Corrects a problem with the DiscardUnusedFonts OptimizerOption where it didn't work as expected in the .NET and Java interfaces. This also corrects an exception that could be raised during document Optimization when finding an unusually defined /FontFile stream.
    • SF#45284 – Corrects an issue in which the Line Width of the PDEGraphicState wouldn't return the accurate value for a Text object in some cases.
    • SF#45310 – Corrects an issue in which image size could drastically increase during PDF/A-2 or 3 conversions.
    • SF#45314 – Corrects an issue in which adding a Watermark from a PDF document when encountering a large Fixed value that caused the ASFixed type to overflow.
    • SF#45329 – Corrects an issue where rasterizing a document with Text using a Font with an improperly specified CMap Subtable would result in .notdef glyphs being drawn, now the expected glyphs are drawn instead.
    • SF#45353 – Corrects an issue in which Flattening a page could partially clip an Image.

     

    APDFL v18.0.4PlusP1m (October 27, 2022)

    New Features:

    • SF#44840 - Adds a new Document Conversion sample to the C++, .NET, and Java distributions which illustrates how to convert a PDF to a Factur-X (aka ZUGFeRD v2.2) compliant document.
    • Adds a new Content Creation sample to the C++, .NET, and Java distributions illustrating how to Add Header and Footer Text to a PDF page.
    • Adds a new API MeasureTextWidth() to the Font class of the .NET and Java interfaces.
    • Adds a license managed version of the Mac Arm platform.
    • Updates open source Expat XML parser (expat) library to 2.4.9.
    • SF#44876 - Updates open source Boost library to version 1.80.0.
    • SF#45239 - Updates open source TIFF (libTIFF) library to version 4.4.0.
    • Updates open source PNG (libPNG) library to version 1.6.38.
    • Updates .NET Core interface to use .NET 6.0.

    Problem Corrections:

    • SF#44830 – Corrects and issue in which Embedding some Standard 14 Fonts would silently fail.
    • SF#45265 – Corrects an issue in which PDETextItemCreateASText() could crash when an invalid TextState was specified while using a multibyte font.
    • SF#45285 – Corrects an issue in which the Flattener could fail unexpectedly.
    • SF#45291 – Corrects an issue in which Type 0 Font embedding would not work as expected in some circumstances.
    • SF#45305 – Corrects an issue in which glyphs could be changed to .notdefs when Font merging occurred incorrectly during a save or page insertion.

     

    APDFL v18.0.4PlusP1k (October 4, 2022)

    New Features:

    • SF#45247 – The RegexExtractText, RegexTextSearch, and AddRegexRedaction samples are now available for Sparc platforms.
    • With this release, the NuGet package version has been increased to 18.8.1.

    Problem Corrections:

    • SF#44722 – Corrects an issue in which saving a document could result in a Metadata Keywords entry being duplicated when displayed in some PDF Viewers.
    • SF#44887 - Corrects an issue where the Scale() method of the TextRun class in the .NET and Java interfaces did not work as expected when a MultiByte font was in use.
    • SF#45225 - Corrects an issue in which a crash could occur when using PDETextGetASText() with kPDETextChar as a parameter for a Multibyte font.
    • SF#45230 - Improves compression of streams in PDFOptimizer.
    • SF#45235 - Corrects an issue in which highlight annotations were lost during PDF/A conversion.
    • SF#45237 - Corrects an issue in which Type 1 fonts could become Type 0 during Flattening.
    • SF#45242 - Corrects an issue in which failures occurred when rendering a negative line width when the AllowRelaxedSyntax flag is set.

     

    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