Toolbox add-on release notes
Learn about the changes, additions and fixes of the Toolbox add-on.
Version 1.12.0
11 March 2026
Changed
-
HEIF/HEIC codec library dynamically linked
The native library requires the HEIF/HEIC decoding library at load time, even if your application doesn’t use HEIF/HEIC functionality. If the decoding library isn’t found, the native library fails to load. The required binaries are included in the distribution, but ensure your service, container layout, library search paths, and permissions allow the library to be found.
Action: After updating, verify that your deployment loads correctly even if HEIF/HEIC processing is not used.
-
JBIG2 decoding update
The JBIG2 decoding implementation has been replaced. JBIG2-encoded images render identically, but error messages related to JBIG2 processing may differ from previous versions.
Action: If you process PDFs with JBIG2-encoded images, consider validating against a representative document set.
-
Updated font substitution for missing fonts (including PDF/A)
When PDFs reference fonts that aren’t embedded and are unavailable on the host, the software substitutes fallback fonts. The updated fallback fonts support a larger glyph set and better fitting to original glyph dimensions. Layout should remain stable, but visual appearance differs from both the original font and previous versions.
Action: If exact reproduction is required, install the original font in your environment.
-
ZapfDingbats font delivery change
ZapfDingbats is no longer shipped. The fallback font URW++ D050000L.ttf is used instead, but it doesn’t provide full coverage and may differ slightly in appearance.
Action: If exact ZapfDingbats reproduction is required, install the font in your environment.
-
Refreshed internal mapping tables
Character mapping tables used for Unicode and glyph mapping have been updated. Changes are primarily additive (new code points) with occasional correctness fixes.
-
Java: native library loaded automatically
Before this release, Java applications had to explicitly locate and load the Toolbox add-on native binary using
System.load()orSystem.loadLibrary()before calling any SDK function. With this release, the native binary is loaded automatically at runtime.The Maven dependency has also been simplified: the platform-specific native artifact classifier is no longer needed.
Action: Remove any
System.load()orSystem.loadLibrary()calls for the Toolbox add-on native library from your code. In yourpom.xml, replace the two-dependency block (main JAR + native artifact) with a single dependency ontoolbox. Refer to the Java getting started guide for the updated configuration. -
Upgraded libxml2 from version 2.10.3 to 2.15.0. Error messages related to XML processing may differ from previous versions.
Fixed
- Debug-level log messages are written to the file output sink when file logging is configured via
PDF_TRACE_OUTPUTorPDFT_LOG_OUTPUT. CheckBox.CheckedExportNamereturned an empty value when the checkbox/Optentry was empty or invalid. The correct value is returned.- Fixed an access violation when processing certain documents.
- Before this update, copying a page with
DoNotCopyContentset totruecaused image resources from the source page to be included in the output document. As a consequence, in workflows that copied a page without its content and then selectively copied content elements, the output file grew significantly with each iteration. With this release, image resources aren’t included when copying a page without its content. - Before this update, on Linux, PDF dates were computed using the UTC offset of the current time instead of the UTC offset applicable to the date being processed. As a consequence, PDF dates could be off by one hour when the document’s date and the current time fell in different daylight saving time (DST) periods. With this release, the UTC offset is correctly derived from the date being processed.
- Before this update, the JBIG2 decoder placed no limit on memory allocations, which could cause excessive memory consumption when processing PDFs with malformed or unusually large JBIG2-encoded images. With this release, JBIG2 memory allocation is capped at 2 GB.
Version 1.11.1
17 December 2025
Fixed
- Toolbox add-on now supports using a proxy for license validation. For more information, review Configure proxy in the Toolbox add-on licensing documentation.
Version 1.11.0
29 October 2025
Added
- Added
ContentGenerator.TagAsArtifactmethod, which lets you tag all content created after its call as an artifact. For more information, review the API references: C, Java, .NET, Python. - Enhanced logging configuration environment variables:
PDFT_LOG_OUTPUTfor output control, replacingPDF_TRACE_OUTPUT. ThePDF_TRACE_OUTPUTalso remains supported for backward compatibility.PDFT_LOGfor log level filters. The comma-separated format:*:error,libbase:info, where*sets the default level.
Changed
- Switched from the zlib to zlib-ng library, significantly improving performance when compressing and decompressing Flate streams by using SIMD instructions.
Fixed
- Gray color space output intent is set correctly.
- Widget annotation appearance generation correctly checks for rich text value (RV) entry instead of rich text style (DS) entry when determining whether to create appearance streams.
Version 1.10.0
16 September 2025
Added
- Raw strings of text elements can be exposed as arrays of bytes. As a result, developers who use the Toolbox add-on can work directly with the underlying encoded text data for advanced processing and custom workflows. For more information, review these API references: C, .NET, Java, Python.
- Introduced a new method for retrieving the resolution of image masks. Find more details in the API references: C, .NET, Java, Python.
Fixed
- Resolved an issue using an uninitialized variable that could cause unpredictable behavior during PNG processing.
- Fixed a stack buffer overflow when creating annotation appearances.
- Corrected glyph position problems caused by improper handling of adjustment values.
- Ensured the
GTS_PDFXoutput intent is correctly copied into the output document to maintain PDF/X compliance. TheGTS_PDFXdefines the standardized printing output intent for PDF/X files. - Fixed an infinite loop that could occur during optimization for specific malformed PDF files.
- Addressed an access violation related to cross-reference (xref) tables, preventing potential crashes.
Version 1.9.0
29 July 2025
Added
- Completed basic PDF/Universal Accessibility (PDF/UA) functionality:
- Enabled reading of existing logical structure through
Pdf.StructureAPI. - Added getter and setter methods for logical structure attributes:
AltT,ActualT,E, andLang - Extended the API declaring PDF/UA compliance by setting the
Markedflag and embedding thepdfuaidin XMP metadata. - Added developer guides for accessing and creating logical structure in PDF documents. For more information, review Accessibility section with three guides: Create an accessible PDF from scratch, Add logical structure to an existing PDF, and Read PDF logical structure
- Added samples for creating accessible PDF/UA with logical structure, reading logical structure from tagged PDF documents, and adding logical structure during PDF remediation.
- Enabled reading of existing logical structure through
Changed
- Removed library load and unload messages from Python bindings.
- Replaced misleading
ArgumentExceptionwithCorruptExceptionfor incorrect AF entry in PDF catalog.
Fixed
- Font name decoding for Type0 fonts on Linux and macOS to preserve Unicode characters.
- Malformed import in native_base.py that caused errors in Python bindings.
- Fixed blank pages caused by incorrect indirect color space references in inline images.
- Fixed unexpected termination when processing image dictionaries with an empty
/Filterarray. - Fixed text coordinate errors caused by specific usage of
qandQoperators. - Fixed error reporting for non-UTF8 colorant name on Linux and macOS.
- Font name decoding on Linux and macOS to align behavior with Windows.
- Removed stray null terminators from strings returned by the Python interface.
Version 1.8.0
19 June 2025
Added
- The Toolbox add-on natively supports Linux ARM64 processor architecture.
GetResolutionmethod was added to theImageclass. For more information, review the API references: C, Java, .NET, Python.- To support advanced cryptographic processing, the
SignatureFieldclass in thePdfTools.Toolbox.PdfAPI exposes the raw digital signature blob through a read-only propertySignatureContents. This property returns the exact binary value of the/Contentskey from the PDF signature dictionary—equivalent to what was previously accessible throughSecure.GetSignaturein the legacy PDF Toolbox SDK. For more information, review the API references: C, Java, .NET, Python.
Fixed
- Previously, soft mask dimensions were not properly validated when a matte background was present.
- Fixed PDF corruption and blank pages that occurred when cloning documents with certain image color spaces.
Version 1.7.1
26 May 2025
Fixed
- Resolved an issue where the
ContentExtractorclass reported incorrect glyph widths. - Addressed a problem with native library shutdown procedures that led to crashes or hangs when used through language bindings.
Version 1.7.0
16 May 2025
Added
-
Code examples include links to Jupyter notebooks marked as the Open in Colab buttons. For more details, review the Toolbox add-on code examples.
-
Improved multi-threaded handling of shared read-only data structures, allowing read-only configuration data to be shared safely between threads.
Version 1.6.1
14 April 2025
Added
- With this release, we are launching a new Python Jupyter notebooks repository demonstrating the core functionality of the Toolbox add-on, including step-by-step examples for key features and use cases.
Fixed
- Previously, a crash occurred when IIS processes terminated, causing the Toolbox add-on DLL to unload without properly releasing its resources. This issue has been resolved, allowing the DLL to safely unload even when shutdown hooks fail to execute as expected.
- Previously, PDFs utilizing Type 3 fonts appeared visually distorted after copying elements using
ContentElement.Copy. This bug has been resolved, and the copied elements render correctly.
Version 1.6.0
14 March 2025
Added
- Improved support for HEIC files.
Fixed
- Prior to this release, the image conversion functionality was not working in Python. As of this update, the underlying issue is fixed by using aliases for imports when needed. Aliases are also added to some built-in methods from providers to fix inconsistencies.
- Previously, radio buttons were improperly copied to the output documents.
- Previously, under certain circumstances, a regression caused the decryption of encrypted PDFs to fail. The issue is fixed with this release.
- Fixed a bug that caused crashes when handling JPEG images in the Toolbox add-on on 32-bit Windows system.
- Improved handling of faulty PostScript string syntax to ensure correct parsing of ToUnicode maps.
- The Python version of the content addition example Add data matrix to PDF correctly places the matrix on the page.
- The Python code example Extract all text from PDF correctly reports page numbers when displaying extracted text to the console.
Version 1.5.0
24 January 2025
Added
- The Toolbox add-on natively supports Microsoft Windows ARM64 processor architecture.
- Copy a page without copying its graphical content using the DoNotCopyContent option. This is helpful for content removal workflows that have to fully preserve a page’s metadata, annotations, and widgets.
Fixed
- A bug where the soft mask of an image was lost during copying has been fixed.
- This update fixes an issue where the Toolbox add-on incorrectly handled x-advance information of the text painting operator, leading to wrongly placed glyphs.
Version 1.4.0
28 November 2024
Added
-
Set the Hidden flag for
Widgetclasses. When this flag is set, theWidgetis invisible and unavailable to user interaction. -
Get and set the Locked flag for
Widgetclass. When aWidgetclass isLockedits properties can’t be changed. -
As of this update, you can also get and set the
FontSizefor the CombTextField and the ListBox classes.
Version 1.3.0
9 October 2024
Added
-
The Pdf.Structure namespace has been added to the Toolbox add-on. You can use the classes and methods in this namespace to add structure information (“tags”) to the generated PDF content for use cases such as PDF accessibility. With this update, you can Tag content created using the ContentGenerator and link the content to the document’s Structure Tree. You can also create custom tags by adding them to the document’s RoleMap.
-
As of this update, you can determine whether a font is embedded in a PDF by checking the IsEmbedded property of the Font object.
-
Redact a rectangular area of an image using the Redact method of the Image class. This changes the content of the image so that all pixels within the defined rectangle are set to the same color.
Fixed
-
With this update, you can set the URI for the LicensingService using the Sdk class of the Toolbox add-on. Before this fix, the default value for the LicensingService was always used.
-
Before this update, the Toolbox add-on sometimes could terminate unexpectedly when:
- Iterating through the Content of a Page.
- Loading the ExportName of a FieldNode.
The underlying issues were fixed. As a result, the Toolbox add-on no longer crashes in the described scenarios.
Version 1.2.0
22 July 2024
Added
-
Image sampling accesses and handles the raw pixel data of an image in a sequential order without altering the resolution. This involves reading or setting the pixel values directly, often in the context of image processing or manipulation at the most detailed level. Get and set image samples using the Toolbox add-on. Review the Image.Samples property in the API documentation for more information.
-
As of this update, you can set the URL for the Licensing Service using the Sdk Class of the Toolbox add-on. This URL is used for trial licenses and page-based licenses.
Version 1.1.0
28 June 2024
Added
-
Retrieve information about a content element’s Optional Content Membership using the Toolbox add-on. Optional Content Membership is defined by Optional Content Groups (also called layers) whose state determines whether a content element is visible or invisible.
-
Retrieve the Rotation (
None,Clockwise,UpsideDown, orCounterClockwise) of a page using the Toolbox add-on.
Version 1.0.0
24 April 2024
Added
- Integrated the Toolbox add-on into the Pdftools SDK. All the functionality from the PDF Toolbox SDK is included with your Pdftools SDK license.