This will be the last release supporting Python 2.
New Features
Added support for Word 2003 XML document format.
Added to the Optimizer the API function RemoveDuplicateStreams() which can be called separately without doing any other optimization changes.
New Options
Added new API function FillTemplateJsonToOfficeWithFilter. The behavior is the same as FillTemplateJsonToOffice, except it writes to a filter instead of a file.
[node.js] Added support for Node version 23 for Windows, Linux, Linux Alpine, and Linux ARM 64.
[python] Added support for Python version 3.13 for Windows, Linux, Linux Alpine, and Linux ARM 64.
[python] Added support for Nuget packages on Linux ARM 64.
[pdf] Enabled the TransPDF XLIFF Reflow API for Alpine.
[pdf] Improved efficiency of document structure imports during PDF->PDF streaming conversion.
[pdf] Improved the ability to repair corrupt documents with missing objects. Previously, an "Attempt to load free object" exception could be thrown during various operations, such as PDFDoc.ImportPages(). The error is now replaced with a silent warning log, in line with how other PDF viewer applications handle these corruptions.
[pdf] Improved the parsing of corrupt PDFs that contain invalid circular references inside an xref table. Previously, we could skip parsing some corrupt objects, which could lead to errors such as "[function] can't be invoked on Obj of this type".
[pdf] Improved the performance of PDFDoc.GetGeometryCollectionForPage().
[pdf] Deprecated the HasNext() function in the dictionary iterator and replaced it with the more accurately named HasCurrent().
[pdfua] Improved contiguity of generated marked-content-sequences during auto-tagging.
Bugfixes
[all] Fixed an issue in Xcode 16.3 with compilation of user pre-C++11 code would fail due to an unsupported C++ feature.
[all] Fixed an issue in Xcode 16.3 compatibility issue with compilation of user C++ code failing with an std::basic_string <unsigned int>; related error due to missing specialization of std::char_traits <unsigned int>;.
[html] Fixed an issue in HTML2PDF where the conversion log did not contain the correct information when using the HTML2PDF.SetLogFilePath() function.
[html] Fixed potential issues in the HTML2PDF converter that could be caused by cookie values being ignored due to a bug in the HTTP protocol handler.
[java] Fixed a crash in Android when retrieving an object name which contains non UTF encoded text.
[java] Fixed an issue that could cause a segmentation fault in native code when calling PDFDoc.mergeXFDFString() from Java.
[node.js] Fixed a potential crash when calling APIs with a file buffer parameter in a folder without write permission.
[pdf] Addressed an issue with FieldIterator when a broken AcroForm field had an empty Kids array. For example, previously Field.GetType() could fail with an error "Required field attribute (/FT) not found".
[pdf] Changed the default export format of image masks and images with soft masks to PNG. Previously, the default format could be JPG which would result in lost transparency layer.
[pdf] Fixed a crash that could occur when printing a pdf with annotations.
[pdf] Fixed a PDF rendering issue where certain lines with an unusual dashed pattern could fail to render. Specifically, this could occur when using 0-width dashes combined with rounded line caps to produce a circular dash pattern.
[pdf] Fixed a text selection and highlight issue in WebViewer and PDFViewCtrl related to Type3 fonts. When such text was selected, the selection's bounding boxes were sometimes inaccurate.
[pdf] Fixed an issue where a certain JPEG2000 image with the GIMP sRGB profile inside a PDF input could cause the image to be missing entirely from the output when the PDF was rendered or converted.
[pdf] Fixed an issue where an invalid RGB JPEG image with a mismatched CMYK ICC color profile could cause an invalid image in the output PDF document during image to PDF or Office to PDF conversion. (Convert.ToPdf(), Convert.OfficeToPDF())
[pdf] Fixed an issue where annotations on the OFF OCG layers were always visible.
[pdf] Fixed an issue where certain JavaScript page navigation bookmark actions were not preserved by Convert.ToXod().
[pdf] Fixed an issue where Courier Bold Oblique, Helvetica Bold Oblique and Times Bold Italic fonts could reset to the default regular font when updating text widget content in some PDF viewer applications.
[pdf] Fixed an issue where PDFView failed to render the OCG from the source PDF after it was merged into the viewing document.
[pdf] Fixed an issue where TextExtractor could sometimes return an excessively tall bounding box around the text. Previously, this could cause text selection and markup annotations to be too high in the vertical dimension.
[pdf] Fixed invalid memory access invoked by TransPDF API throwing an exception.
[pdfa] Fixed a regression when converting a PDF file with CID fonts to PDF/A-2 or later, where the font descriptor contains an incomplete CIDSet that does not cover all the glyphs in the font data.
[pdfa] Fixed PDF/A validation false positive for "'endobj' not preceded by EOL marker" in the case of multiple EOLs in front of endobj.
Office Templating
[docx] Fixed an issue causing inconsistent font sizes in looped templating.
[docx] Added dynamic table of contents generation support for document generation (templates)
[docx] Fixed a crash in docx to docx templating caused by nested fields.
Office Fidelity
[xlsx] Added support for pattern fill styles to cells and shapes in Excel documents.
[docx] Fixed an issue where framed paragraph positions were not being correctly set.
[office] Fixed an infinite loop in chart time axis layout.
[docx] Fixed a bug with incorrectly placed outline bookmarks.
[xls] Fixed an issue where decimal numbers were incorrectly truncated in XLS documents.
[office] Fixed a bug related to supplementary Unicode where Adobe Acrobat would report an error when opening the output pdf.
[office] Fixed a bug where font substitution results in an incorrect glyph when symbol fonts are not available.
[office] Improved mixed-style East-Asian line breaking.
[office] Fixed an issue with incorrect table cell backgrounds in WMF images.
[docx] Fixed an issue with incorrectly positioned right-aligned tabs.
[xls,xlsx] Added support for the icon set conditional formatting in Excel documents.
[docx] Fixed an issue where table rows that are associated with dataBinding elements were missing.
[xlsx] Added support for Italian locale in Excel documents.
[office] Fixed a bug affecting vertical-flowing text on ARM64 architecture.
[docx] Improved handling of malformed tables with merged cells.
[pptx] Fixed incorrect link text color in PowerPoint documents.
[docx] Added support for DATE field in Word document conversion.
[docx] Fixed a rare issue with missing content in vertically merged cells in Word documents.
[docx] Fixed an issue where footnotes were sometimes placed in the wrong position.
[docx] Improved table column width calculation in Word documents.
[doc] Fixed an issue where text box content was displayed incorrectly, and text boxes were mistakenly linked to the wrong shapes in DOC documents.
[xlsx] Added support for top10 and aboveAverage conditional formats.
[pptx] Added support for list bullet scaling in PowerPoint documents.
[docx] Improved the placement of text around framed paragraphs close to the left margin.
[docx] Added support for basic HTML formatting in Word.
[pptx] Fixed incorrect order of columns in right-to-left tables in PowerPoint documents.
[office] Prevented an exception when using bitmap fonts.
[xlsx] Added support for explicitly specified locales in Excel data formats.
[pptx] Fixed a rare issue with missing tables in PowerPoint documents.
[office] Improved font substitution for Chinese fonts.
[xlsx] Fixed a rare "document layout failed: false" error in Excel conversions.
[docx] Added support for links to footnotes and endnotes.
[docx] Fixed an issue where paragraphs beside full width floating content were misplaced.
[xls] Fixed an issue where text was incorrectly rendered as hashes in Excel documents.
[docx] Fixed an issue with incorrect total number of pages within a section in Word documents.
[office] Fixed an issue that caused incorrect alphabetical glyphs to be drawn in equations.
[xls] Fixed an issue where cell text alignment was incorrect in XLS documents.
[docx] Fixed an issue where shape outline was incorrectly displayed in Word documents.
[docx] Fixed an issue where floating objects relative to the bottom margin were misplaced.
[xlsx] Added support for theme fonts in Excel headers and footers.
[xlsx] Added implementation for the CHAR Excel function.
Fixes and improvements for the Structured Output Module
[docx] Content detection algorithm extended using pdf tags to bias output.
[office] Improved detection of bound orientation for specific languages and the preferred orientation of that language.
[office] Improve content detection of Korean language documents.
[docx] Improved the detection of textboxes with similar layout to a two-cell table.
[docx] Improved the detection of table header content.
[docx] Improved table detection when cells in multiple columns contain only one hyphen.
[docx] Improved the detection of line spacing.
[docx] Improved detection of textboxes between column breaks.
[docx] Improved the detection of grouped objects with similar layout to a table.
[docx] Improved the detection of page headers.
[json] Implemented strikethrough property in json export.
[json] Improved the detection of text bounds.
[docx] Improved the detection of tables within columns of text.
[docx] Improved the detection of header content after page orientation change within a document.
[pptx] Improved detection of character spacing.
[office] Improved OCR analysis of non Latin glyphs.
[docx] Fixed a bug preventing the detection of some tables in a certain document.
[docx] Fixed a bug causing four characters on a variant color background to be omitted from conversion output.
[html] Fixed a bug causing additional text to be included in the target of a URL link.
[pptx] Fixed a bug causing a word to be mislocated on a slide.
[xlsx] Fixed a bug causing the cells of one row to become merged on a certain document.