Some test text!


Version 9.3.0 Changelog (July 5th, 2022)

New Features

Added support for IRIS OCR

  • The IRIS engine can now be selected when performing OCR operations.
  • Download the IRIS module and specify the OCREngine option as "IRIS" in order to use this new functionality.

Office templating

  • Office templates now have a new template-specific conversion API, which allows enumeration of the template keys within a document as well as efficient refilling of the same document with different values.
  • Templates tags can now accept structured input as values, in the form of either markdown or basic html. Use the "markdown" or "html" properties in the replacement json value to specify this structured input.

Linux ARM64 Architecture Support

  • Support for ARM64 architecture is now available for all Linux versions of the SDK.

HTML To PDF Extensions

  • Added support for options to allow local file access and to set a delay to allow for JavaScript execution in HTML2PDF with the latest module. (see WebPageSettings.SetBlockLocalFileAccess() and WebPageSettings.SetJavaScriptDelay())
  • Added support for an HTML2PDF option to set a timeout on the conversion. (see WebPageSettings.SetTimeout())

More Features

  • Text Diff now has an option to use PDF reading order/z-order (TextDiffOptions.SetCompareUsingZOrder). This can significantly improve results.
  • Added a method to set the font name for FreeText annotations. (FreeText.SetFontName).
  • Added support for the HEIC and PSD file formats to the Advanced Imaging Module.
  • Added a new option e_ocr_always to force application of OCR to non-scanned pages for PDF to Office and PDF to HTML.

Changed Behaviour

  • Removed 8 non-functional deprecated APIs from WordOutputOptions.
  • PDFDoc.Save() with e_incremental flag will now throw an exception if a Redaction operation was just applied. This is important to avoid retaining the original document content.
  • PDFDoc.Save() without e_incremental will now always remove unused objects if a Redaction operation was just applied.
  • Text Diff now uses the new pdf reading order option as the default.


  • [node] Added support for Node 18 and Electron 17-19.
  • [pdf] Optimized ElementWriter resource lookup for documents with huge resource dictionaries. This should also provide some performance benefit to other operations that generate PDF including optimization, flattening and some conversions.
  • [python] Added support for Python 3.10 in pip.
  • [.net] Improved the .Net Core interface to avoid crashes that could occur with certain usages due to overzealous garbage collection.
  • [all] Upgraded Expat to version 2.4.7.
  • [.net] Added PDFACompliance.GetDeclaredConformance() to .Net Core.
  • [pdf] Improved error messages in digital signatures for encrypted files.
  • [pdf] Made some general improvements to Embedded JavaScript support.
  • [pdf] Added reference counting to a number of objects including ObjSet, DocumentConversion, EmbeddedTimestampVerificationResult, TimestampingConfiguration and TimestampingResult.
  • [xfdf] Cleaned up the xfdf export surrounding signature widgets to omit unneeded appearance data when an appearance is not available.
  • [pdfa] Improved handling of OCRed files when converting to PDF/A-1 variants. Some OCRed files use transparency which is not supported in these versions of PDF/A which the conversion can now adjust for.
  • [pdf] Added support for check icon appearance generation in Text/Sticky Note annotations.
  • [pdf] Added viewer support for basic goto actions in Embedded JavaScript.
  • [pdf] Allow corrupt documents that reference the trailer from the trailer.
  • [pdf] Significant reduction in memory used by GeometryCollection (snapping) logic by skipping intersections between tiny lines.
  • [pdf] Adjusting PDF repair logic to correct the length of streams with filters in corrupt documents.
  • [ruby] Added universal build (with Arm slice) of Ruby on MacOS.
  • [tiff] Added support for multi-page tiff in streaming conversion.
  • [html] Performance improvements when iterating and calling Word.GetCharStyle().
  • [pdf] More complete unicode coverage for the default built in substitute fonts.
  • [pdf] Updated digital signature revocation OSCP requests to use HTTP 1.1 instead of HTTP 1.0.
  • [Office] Added support for radar charts.
  • [templates] Added support for specifying template content via json paths.
  • [docx] Added support for internal document links.
  • [templates] Added TemplateStrictMode option, which will throw an exception on missing template data.
  • [xlsx] Numerous performance improvements.
  • [docx] Large performance improvements (20%) on documents with many pages.
  • [office] General performance increases on documents that use many fonts (~20%).
  • [xlsx] Improved performance and memory usage of the conversion of Excel files with hidden sheets.
  • [xlsx] Improved performance and memory usage of Excel documents with empty cells.
  • [office] Font scaling improvements for cases where a built-in office font is used, and the font is not present on the system.
  • [docx] Improved performance of floating content positioning.
  • [templates] Added '%' to the valid characters in template identifiers.


  • [pdf] Fixed Digital Signature Validation revocation issue for cases where the digest algorithm is not specified up front.
  • [pdf] Fixed Digital Signature Validation issue where certain changes that were meant to be skipped in MDP analysis could be treated as an error.
  • [pdfa] Fixed issue where PDF/A-2/3 specific structure types were not being considered.
  • [pdfa] Fixed potential out of bounds array access on documents with unexpectedly large unicode output per glyph.
  • [pdf] Made flattening behavior act the same as rendering and other applications when XFA data mismatches with other annotation state.
  • [pdf] Fixed an issue in Text Diff that was contributing to a number of false differences.
  • [pdf] Fixed an inconsistent issue where GetAcroForm would sometimes return null on documents that have such a dictionary.
  • [.net] Fixed a potential crash in the ObjectIdentifier interface for .Net Core.
  • [xfdf] Adjusted xfdf import to avoid retaining trn-formatted-value custom entry added by WebViewer.
  • [pdf] Fix for Digital Signature MDP verification. Entries that are not mentioned in the PDF standard are now ignored under compatibility security mode.
  • [pdf] Improving support for corrupt paths starting with an l (line) rather than m (move) operator.
  • [pdfa] Fixed a couple of issues that could lead to inconsistent PDF/A validation results on certain documents.
  • [tiff] Fix for tiff image import when the image has YCbCr photometric colorspace and is dct (jpeg) compressed.
  • [pdf] Resolving potential threading issue in FreeText generation on some platforms.
  • [pdf] Taking Text/Sticky Note anchor point into consideration when computing the clickable region in the viewer.
  • [pdf] Fixed an issue where, when there are empty values present in Opt array, the combo-box appearance can be incorrect.
  • [.net] Fixed some APIs that could cause small memory leaks in the .Net Core interface.
  • [pdf] Fixed a rendering issue, on very unusual documents, where the soft mask background would be ignored if the main part of the mask did not intersect.
  • [xfdf] Fixed calculation of font size for XFDF export on very unusual documents.
  • [pdf] Fixed a very rare crash that would only occur with very specific inline images and viewer cache sizes.
  • [pdf] Fix for Redaction so it will remove associated popup annotations.
  • [pdf] Fixed a crash on corrupt documents where Object streams reference themselves in a circular manner.
  • [xfdf] Fixed crash on PDFDoc.MergeXFDF when the specified page in XFDF is not in the PDF document.
  • [pdf] Fixed some issues in FreeText with how the font was being chosen.
  • [pdf] Fixed a memory leak when incrementally saving signed documents.
  • [pdf] Fixed an issue with Text Extraction that lead to issues (potentially even a crash) with text selection on specific documents.
  • [pdf] Fixed a bug where FreeText functions SetFontSize and SetTextColor could fail to update those properties.
  • [pdf] Fixed an issue in FreeText appearance generation where \r\n could be counted as two lines.
  • [pdf] Extended logic to ensure the precision of numbers written by incremental save when the document is signed to include compressed object streams.
  • [pdf] Avoid utilizing FreeText rich-text content when it is empty.
  • [html] Fixed encoding issue handling unicode characters in HTML provided as a string to HTML2PDF.
  • [pdf] Added support for hidden text in TextDiff, which fixes issues handling OCRed images.
  • [pdf] Fixed a Text Diff issue where a space inserted before and after a word caused the entire word to be highlighted.
  • [pdf] Improved ability of TextExtraction to get all of the text at the edge of tables.
  • [pdf] Fixed an issue in CalRGB handling that could occasionally trigger a crash.
  • [pdf] Made Text.setAnchorPosition and Text.getAnchorPosition visible in Java and .Net Core.
  • [pdf] Fixed a crash that could occur on some very corrupt PDF documents with incorrect object headers.
  • [xfdf] Improved handling for importing XFDF with '.' as part of field names. (rather than part of the field hierarchy)
  • [pdf] Fixed an issue where, on AES256 encrypted documents, IsMasterPasswordRequired() could return true when there was no owner/master password on the document.
  • [pdf] Fixed an font substitution issue when generating form field appearances by utilizing the default appearance font name.
  • [pdf] Improved text extraction support for cases with differently rotated text.
  • [pdf] Fixed an issue where new fields could not be properly edited with PDF JavaScript enabled.
  • [pdf] Fixed a glyph loading issue when hinting fails at higher scales.
  • [Templates] More consistent rules for template inference.
  • [Templates] Fixed some issues with multiply nested if-else conditions.
  • [templates] Improved error handling for templates.
  • [emf] Corrected handling of null brushes.
  • [pdf] Fix for a single-byte out of bounds read for CalRGB images with a particular data alignment.
  • [all] Fixed a potential issue with leaking handles when calling subprocesses in very quick succession from multiple threads on Linux system.
  • [fonts] Ensure font file extension checking is case insensitive.
  • [pdf] Fixed potential out-of-bounds memory access due to a rounding error at very high image resampling levels.

Office Fidelity

  • [docx] Many fixes to the handling of floating tables.
  • [pptx] Fixed cases where custom hyperlink colors could be ignored.
  • [docx] Fixed a bug in UTF-32 to UTF-16 conversion affecting RTL text.
  • [docx] No longer horizontally expand tables when there are multiple columns.
  • [docx] Added support for the keepWithNext property for table rows.
  • [docx] Added a workaround for axis lable text with arbitrary placement angles.
  • [docx] Fixed issue with incorrect origins within some group shapes.
  • [docx] Improved sorting of z-indices of shapes, in particular for very large z values.
  • [pptx] Corrected an issue with the determination of tab stop values in powerpoint files.
  • [docx] Disabled text interaction with floating elements in files created by older Word versions (<15).
  • [docx] Fix for incorrect hyperlinks areas within RTL documents.
  • [doc] Fixed footnotes and endnotes handling for DOC format.
  • [docx] Fixed an issue with absolutely positioned rotated shapes.
  • [xlsx] Use the suggested row height when text wrapping is enabled in the row.
  • [pptx] Fixed inheritance of noFill shape property from a shape group.
  • [pptx] Implemented proper chart series color calculation according to the chart style.
  • [pptx] Added basic handling of warped text.
  • [xlsx] Fixed spacing between Excel table rows to make the borders overlap.
  • [xlsx] Fixed issues with missing borders in some Excel documents.
  • [xlsx] Fixed issues with double borders in Excel tables.
  • [xlsx] Implemented cropping of table cell content for Word.
  • [xlsx] Implememented some esoteric font size override logic to match Excel.
  • [office] Fixed a potential issue with incorrect positioning of group shape sub-elements.
  • [xlsx] Fixed improper application of color formatting.
  • [xlsx] Fixed bug with converting #N/A values to zeroes.
  • [xlsx] Fixed issues with resolving formulas dependent on hidden sheets.
  • [xlsx] Fixed issues with resolving formulas involving empty cells.
  • [xlsx] Fixed an issue that could result in incorrect determination of chart categories.
  • [xlsx] Corrected the default fill pattern for dxf fills.
  • [xlsx] Fixed missing background color for image shapes.
  • [xlsx] Now correctly display cached error cell values.
  • [docx] Fixed handling of the case where the last line of a paragraph consists of only a newline.
  • [xlsx] Fixed some issues with localized number formats.
  • [docx] Added support for nested text runs.
  • [docx] Fixed a number of issues with field values.
  • [docx] Added handling of ASK field.
  • [docx] Fixed an issue with paragraph spacing affecting float placement.
  • [docx] Fixed an issue with the calculation of tinted and shaded theme colors.
  • [xlsx] Added support for secondary date separators in localized number formats.
  • [office] Added theme system colors for window and windowText.
  • [docx] Fixes for handling of adjacent text runs with differing underline styles.
  • [docx] Improved handling of paragraph background colors.
  • [office] Fixed baseline calculation for some RTL text runs .
  • [docx] Implemented proper handling of pageBreakBefore flag inside a table.
  • [xls] Added some safety checks for out-of-bounds property indices.
  • [xlsx] No longer throw exceptions for some recoverable excel formular errors.
  • [xlsx] Removed an unnecessary condition from number formatting code.
  • [xlsx] Fixed application of Excel text styles: direct formatting is never overridden by parent properties.
  • [xlsx] Fixed handling of merged cells starting in hidden rows.
  • [docx] No longer underline the suffix tabs in numbered list paragraphs.
  • [xlsx] Fixed an issue with applying beginWith and endWith conditional formatting rules.
  • [xlsx] fixed handling of the SEARCH function fix when no value is found.
  • [xlsx] Handle the conditional formatting via formula.
  • [office] Improved handling of "force bolded" fonts, where the style indicates bold text, but there is no bold variant of the font.
  • [docx] Fixed bug where bullets in word lists were being incorrectly bolded.
  • [xlsx] Fixed potential crash when trying to access characters in an empty string.
  • [xlsx] Added handling of escape characters for table column names.
  • [xlsx] Fixed issue with parsing maximally large double values, not taking the null terminator into account.
  • [docx] Fixed improper reading of rtl run property, could cause some LTR documents to have flipped punctuation marks.
  • [office] Improved RTL layout algorithm, particularly when tab stops and symbols are involved.
  • [xls] Fixed a bug in reading row properties from XLS files.
  • [xls] Fixed a bug in applying cell properties to merged cells.
  • [excel] Improved row height calculation for rows with wrapped text.
  • [excel] Fixed the default line spacing for wrapped text in Excel documents.
  • [office] Fixed handling of super/subscript text when all text in a given line is either super/subscripted.
  • [doc] Fixed mapping of complex VML paths in .doc files.
  • [doc] Corrected default stroke width on arrow symbols.
  • [docx] Fixed applying bottom table border to vertically merged cells.
  • [docx] Added support for the doNotVertAlignCellWithSp compatibility option.
  • [office] Fixed an issue with overlapping caching keys for Arabic and Latin fonts, could cause incorrect fonts to be used in some cases.
  • [pptx] Fixed issue with incorrectly determining the location of fallback content for embedded svg images.
  • [pptx] Added support for for per-slide theme color overrides.
  • [doc] Added the missing inclusion of pcd.cpEnd into the FileCharacterPositions list.
  • [pptx] Fixed inheritance of outline colors within group shapes.
  • [xls] Added a number of fixes for chart drawing.
  • [doc] Added handling of special break types (clear=all, clear=left and clear=right).
  • [xls] Recovered from some non-fatal xls interpretation errors.
  • [xls] Added default page margins for XSL->XLSX conversion.
  • [docx] Fixed a bug with the positioning of rotated shapes.
  • [docx] Fixed handling of after attribute when afterLines="0" is present.
  • [docx] Fixed calculation of line spacing when spaceAfterAuto is enabled.
  • [doc] Refined our handling of table row heights.
  • [xls] Added missing record type checks when reading chart data.
  • [docx] Fixed issue where the absence of the numPr tag would prevent a border from merging with its neighbours.
  • [excel] Added handling of escaped chars in format codes.
  • [docx] Fixed issue where lines could be drawn with an incorrect default weight.
  • [office] Corrected handling of cases where a solid fill was specified with no fill pattern.

Get the answers you need: Support

Upcoming Webinar: PDFTron SDK Tech Review | Nov 29, 2022 at 2 pm ET


The Platform


© 2022 PDFTron Systems Inc. All rights reserved.


Terms of Use