PDFTron Web Services (PWS) support to allow for pay-as-you-go licensing on Windows, Linux and Mac.
Advanced imaging: Added support for HEIF/HEIC formats (native to iOS devices), as well as camera raw formats for Canon, Nikon, Olympus, Minolta, Fuji, Sony, and Kodak cameras.
Added new custom signing API. (DigitalSignatureField.CalculateDigest(), DigitalSignatureField.CreateSigDictForCustomSigning/Certification(), PDFDoc.SaveCustomSignature()) This is especially helpful for cases where the signing step needs to be done separately such as Hardware Security Module (HSM) workflows.
Added support for embedding digital signature timestamps in CMS. (GenerateContentsWithEmbeddedTimestamp() and custom signing APIs).
Added an API to sign a signature digest outside of the PDF document. (DigitalSignatureField.SignDigest()).
Added support for exporting and importing PDF custom appearances in XFDF in a way that is largely compatible with other PDF processors. These appearances can be generated using XFDFExportOptions.SetWriteAnnotationAppearance(true). Appearances are also now shared this way during realtime collaboration.
PDFDoc.AppendTextDiff now supports optional exclusion zones. (TextDiffOptions.AddIgnoreZonesForPage()).
Crypto.TimestampingTestResult was renamed to Crypto.TimestampingResult.
HTML2PDF modules have been removed from packages by default. It is now available on the website instead.
No longer remove Digitally Signed Signature appearances when copying PDF pages from one document to another. This new behaviour is easier to use, though the original matches what some other PDF consumers do in this situation.
C++ PDFViewCtrl was removed from the base C++ package, since its dependencies made it incompatible with Azure Functions. It is still available as part of a separate package.
[Node.js] Added support for Node 15 and 16 to npm.
[Python] Added support for Python 3.9 to pip.
[MacOS] Added support for MacOS to PDF2HtmlReflowParagraphs and PDF2Word conversion.
[MacOS] Added support for Apple Silicon (arm64) slice in PDFTron SDK Python3 pip package and Node.js npm package.
[Node.js] Various extraneous items, such as documentation and samples were removed from the npm packages by default. This makes the package smaller and more practical to use in serverless functions.
[Node.js] A number of improvements or additions to the Node API and documentation.
[pdf] Significant performance improvements for AppendTextDiff.
[pdf] Extending XRef parsing logic to handle corrupt cases where initial XRef entries are not defined.
[pdf] Added logic into Linearized save to prevent binary inconsistencies between runs.
[C++] Adjusted PDFNet::Terminate to allow for the library to be initialized again later. Previously this flow was not supported.
[MacOS] Adjusted minimum MacOS support for the SDK to 10.7. (was 10.15).
[pdf] Taking shading usage better into account when making the decision to flatten. Previously it was possible to have a large number of shadings, but have the file not be flattened.
[pdf] On signed PDF documents incremental save will now write exactly the same format (including the number of decimal places) for numbers that were not changed. This can help to prevent invalidation of existing signatures in rare cases where relevant numbers need to be re-written.
[pdf] Improvement to Obj.IsFree() to return false rather than throw an exception if the object is direct.
[jpeg] Added support for extracting embedded ICC Profiles in JPEG images and embedding them in the PDF. This mainly appears as more correct colors in the output image.
[html] Various improvements and extensions to reflowable HTML support including integration with PDFTron.AI and the inclusion of document images.
[windows] Removed dependency on newer versions of Windows. This dependency was removed because it prevented the SDK from running on Windows 7 and older versions of the OS.
[pdf] Various improvements to realtime collaboration support.
[pdf] Improved the reading order of text extraction when processing tables.
[pdf] Adjusted Optimizer to throw out resources on a page basis rather than a document basis. While this doesn't automatically shrink the documents it produces smaller output when the optimized file is split.
[pdf] Fixed multi-threaded race condition in font processing when using multiple instances of TextExtractor on the same document. In rare cases this could actually cause a crash.
[Node.js] Adjusted PDFNet.Convert.office2PDFBuffer to destroy the temporary PDFDoc object before returning the buffer. This removes the need for other logic to clean up the memory and ensures this memory cleanup is done more quickly.
[jpeg] Fixed an error when converting JPEG files with rotation where the output page could have incorrect dimensions.
[pdf] Fixed stack overflow crash in AppendTextDiff that would occur in some situations.
[pdf] Adjusted text extraction to better handle negative font sizes when generating quads. This is important to ensure underlines appear on the bottom rather than the top.
[xps] Fixed a crash when loading a rare type of font when converting xps to pdf.
[xod] Fixed generation of annotation appearance documents to XML escape appearance states before putting them into XOD.
[pdf] Fixed color and arrow size for zero-width callout annotations.
[pdf] Adjusted font rendering to avoid using hinting if this results in a bad result where the glyph outline is out of the bounding box.
[pdf] Fixed memory leaks in text extraction.
[xod] Fixed an issue converting to XOD with potentially incorrect scaling on rare images that have both SMask and Mask entries.
[xod] Fixed issues with XOD annotation appearance generation for different appearance and annotation states.
[pdf] Ensure that invisible text with no bbox (generated by OCR) is still considered as text elements to be Flattener. This is relevant especially for various types of conversion, since this is required for the invisible text to be retained.
[xfdf] Fixed xfdf import support for unicode filenames in FileAttachment annotations.
[xfdf] Previously annotations added to rotated PDF pages could end up with the wrong orientation when using FDFUpdate. This has been resolved.
[pdf] Fix for Digital Signature MDP verification: changing or adding signing preferences (Lock dict) on subsequent signature fields no longer causes verification to consider previous ones invalidated when signature permissions allow this operation.
[xfdf] Fixed an issue on PDF documents with a very large number of objects where the appearance reference could be added incorrectly to exported XFDF.
[epub] Corrected errors where, in some cases, stroked text would be displayed incorrectly after converting to Epub. It is now flattened to ensure it displays as expected.
[pdf] Runtime check of XRef W entry validity. Previously a crash could occur on a corrupt document with negative values were included in this entry.
[html] Fixed URL injection security bug in reflowable HTML output that could potentially be an issue if converting a certain type of malicious PDF file.
[pdf] Fixed a crash when dealing with corrupt compressed object streams which are missing certain required entries.
[pdf] Fixed incorrect memory access that could occur when dealing with certain corrupt PDF documents that have multiple objects with the same object number where one of the earlier instances was a compressed object streams.
[pdf] Hardened XRef parsing code to avoid invalid memory access on a specific class of documents.
[pdf] Adjusted text extraction to avoid extra spaces when processing Type3 fonts.
[pdf] Detect text with opacity set to 0 as invisible during text extraction, since this is a less common way of including invisible text for OCR.
[html] Fixed various issues with HTML Reflow including inconsistent HTML, incorrectly merged paragraphs and errors on broken Form XObjects.
[pdf] Improved the reading order in Text Extraction when handling superscript characters.
[pdf] Improving detection of character spacing when using the Tc entry in Text Extraction.
[xfdf] Improved the ability for FDFUpdate to retain existing appearances when the original annotation is still in the PDF, but not in the same location on the page.
[xfdf] Adjusting handling for XFDF generated by WebViewer that contain nonstandard rotation to work seamlessly with RefreshOptions.SetUseNonStandardRotation(true).
[pdfview] Adjusting the selection of cloudy squares in PDF viewer components to be more intuitive.
[pdf] Added support for rotating Redaction text on rotated pages.
[pdf] Fix for some font subsititution cases where symbol font glyph resolving could fail.
[pdf] Fix for bad access when processing corrupt xref trailer references.
[pdfview] GetAnnotationAt now prioritizes link annotations when present.
[pdf] More strictly enforce object and generation number limitations as laid out in the specification, avoiding potential instability caused by corrupt documents.
[pdf] Fix for potentially accessing stale object references during a call to Annotation::IsValid.
[pdf] Fix for potential out-of-bounds read when dealing with documents with very large encryption keys.
[pdf] Fixed bug in the undo manager that could occur when a full save is triggered before any snapshots.
[pdf] Fix for internal overflow when processing some gradients, leading to visual artifacts.
[tiff] Fix for some older multipage TIFF files with jpeg encoded data.
[tiff] Fix incorrect tile processing for some uncommon pixel formats.
[tiff] Now correctly import tiff images with more than one "unspecified alpha" channel.
[convert] Make sure to treat file extensions case insensitively in all cases.
[emf] Implement full support for the StretchBLT operation on Linux and Mac (and remove GDI dependence for the same on Windows).
[OCR] Fix automatic coordinates rescaling so that it does not depend on a fixed dpi.
[jpeg] fix for potential crash when processing corrupt jpeg files.
[pdf] Optimized number writing routines, resulting in up to a 10% improvement in save performance for content with a lot of coordinates (complicated curves or text positioning).
[office] General improvement in text layout performance on Windows system (5-10 percent on average).
[office] Added support for equations in powerpoint and excel documents.
[excel] Improved handling of damaged (binary) xls files.
[excel] Fix for cases where a sheets local index and global index are not the same.
[excel] A number of fixes for header and footer positioning.
[excel] Fixed placement for some rotated images.
[word] Fixed issues with page numbering when dynamic field values are nested.
[excel] Fixed issues with some types of table formatting relating to particular table regions (first row, last column, etc.).
[excel] Fixed bug with row height determination: row should be tall enough to fit the containing text when appropriate.
[word] Added header size limit for documents produced in older versions of Word.
[word] Fix for non-deterministic behaviour in some documents with a page break prior to any content.
[office] Fix for some binary-format office files with empty data streams.
[office] Improved layout for right-to-left text with mixed fonts.
[word] Added missing picture bullet list support for the (binary) doc format.
[excel] Correct page numbering when using the setApplyPageBreaksToSheet option on a document with hidden sheets.
[excel] Fixed number rounding to more closely match Excel's very specific behaviour.
[office] Added support for "IsLgl" numbering property (Display All Levels Using Arabic Numerals).
[excel] Fixed potential parse error when processing full row and full column cell ranges.
[excel] Added PMT, Floor, Ceiling, True, and False function implementations for Excel.
[excel] Added handling of percentage operator to the Excel formula solver (for cases where the cached result is not present).
[word] Fixed rare case where we could wrongly assume the text direction for RTL text.
[word] Added support for the picture outline effect.
[excel] Fixed an issue that could cause incorrect horizontal image positioning within a table cell.
[word] Tweaked height calculation for paragraphs with no text.
[word] Fix for potential incorrect vertical positioning of floating elements within overlarge headers.
[word] When competing list styles are present, now correctly prioritize local properties.
[word] Fixed issue with paragraph-relative floating content when attached to tet that does not occupy at least one line.
[word] Added support for a number of missing visual properties with binary doc files.
[office] Improved line breaking algorithms for Chinese, Japanese and Korean language text.
[word] Corrected default font for Chinese text.
[excel] Improved support for the ExcelMaxAllowedCellCount option when processing binary xls files -- will now stop as early as possible.
[word] Fixed a bug with assuming that any text line filled entirely with tabs is a right-to-left line.
[word] Fix a potential crash when handling negative numbering style indices.
[word] More robustly handle the case where a section break has an invalid typ.
[word] Added support for the KeepNext property in table rows.
[word] Added support for unsplittable table rows.
[word] Prioritize calculated page numbers over cached values for dynamic page numbering.
[word] Fixed an issue with indents in roman numbered lists.
[word] Tweaked justification and indentation of nested paragraphs.
[word] Fixed calculation of the leading space for the first paragraph on a page, which previously incorrectly took the line-height multiplier into account.
[word] Fixed an issue with a page break before the first paragraph in a section.
[office] Added support for the "Arabic" format specifier for dynamic text runs.
[word] Fixed various issues with chart titles.
[office] Fixed issues with text highlighting within nested lists.
[word] Tweaked positioning of centered floating tables.
[word] Improved conversion fidelity for pie charts.
[word] Fixed label placement for doughnut charts.
[excel] Fixed a bug that could skip AlternateContent elements when they are the only thing present in a table cell.
[word] Now correctly process colors for form field checkboxes.
[word] Correctly prioritize the last paragraph style when mutiple styles are specified.
[word] Fixed content placement for center-aligned tabs located off the page.
[excel] Fixed style inheritance issue for text runs with no font specified.
[word] Now correctly clip contents of fixed size text boxes.
[word] Added ability to run a Text2PDF conversion with an in-memory buffer source.
[office] Fixed bug that could result in excessive image processing during conversion.
[excel] Tweaked the resolving of drawing text styles to more closely match Excel in some edge cases.
[office] Fixed potential crash when applying image effects to jpeg images with embedded ICC profiles.
[word] Better detection of overlapping text with floating content.
[office] Fixed several issues with chart legends.
[office] Fixed the default linear gradient angle (should be 90 degree rotated if not set).
[office] A number of fixes for image placement within table cells.
[office] Added support of the "series overlap" property for charts.
[excel] Added partial support for pattern filling of cells.
[excel] Added support for the 1904 datesystem.
[word] Fixed a bug where the left indent of floating tables was incorrectly being reset.
[word] Now correctly position and size tables based on the compatibility mode of the file.
[word] Improved support for the allowOverlap property for anchor drawings when interacting with framed paragraphs.
[office] Fixed a memory leak when converting binary office formats.
[office] Fixed handling of empty glyph clusters when shaping Thai text with a non-thai font.