Some test text!

Hamburger Icon

Ruby / Changelog / v9.4

Version 9.4.0 Changelog (October 11th, 2022)

New Features

Digital Signature Verification

  • Major improvements to MDP (Modification, Detection and Permissions) support.
  • Added an option which can be used to reduce the running time of Digital Signature Verification on certain PDF files. (VerificationOptions.SetRevocationTimeout()) This should be used carefully as too low a timeout could lead to trust verification failures.

New Package-Based License Keys

  • Added support for new package-based license keys which group existing permissions into fewer simpler categories. One type of these new keys can be used for consumption-based licensing.

HTML2PDF Extensions

  • Added an option to HTML to PDF conversion that allows the user to specify one or more cookies to use when loading. (HTML2PDF.AddCookie())

Other Changes

  • Added an option in ToXod to use z-order text extraction, which better matches the text extraction of other PDF consumers. (XODOutputOptions.SetExtractUsingZorder())

Changed Behaviour:

  • Java X501AttributeTypeAndValue.getAttributeTypeOID now correctly returns ObjectIdentifier rather than long.
  • Java ObjectIdentifier integer constants were removed, since there is no way to use them properly.
  • Java ObjectIdentifier.Predefined enum names were adjusted to remove the unnecessary ObjectIdentifier_ prefix.


  • [all] Expat was updated to version 2.4.9.
  • [pdf] Updated precision of number comparison in Digital Signature Verification to match other vendors.
  • [pdf] Enabled hinting on 0-length 0-width lines (which appear as points) in PDF rendering. Previously these could be nearly invisible.
  • [pdf] Adding better support for Bold font names in DA when generating annotation appearances.
  • [pdf] Utilize Base14 fonts in FreeText appearance generation when it makes sense to do so.
  • [.net] Exposed Obj.GetRawBuffer() to .Net Core/Standard/5/6.
  • [html] Added support for generation of Logical Structure in HTML to PDF conversion.
  • [pdf] Improved handling of .notdef characters to display nothing when the font is substituted.
  • [pdf] Adjusted handling of corrupt documents where the encryption algorithm doesn't match the V and R value, so that R takes precedence.
  • [image] Removed a limitation on image size for JBIG2 images, so that the library can process bigger JBIG2 images in PDF files.
  • [xfdf] Avoiding errors in FDFMerge and FDFUpdate on corrupt PDF documents with a non-array Annots object.
  • [pdf] FieldCreate now better handles corrupt documents with Null objects in the Field tree. Previously this could throw an exception.
  • [xfdf] Added support for preWrappedText when importing FreeText annotations that are justified.
  • [pdf] During digital signature validation, now use HTTP 1.0 as a fallback if a HTTP 1.1 request fails.
  • [xlsx] Optimized handling of Excel tables with many empty cells.
  • [all] Improved performance by loading some internal font resources only when needed.
  • [all] Added support for Windows "cloud fonts", when cached locally.


  • [pdf] Fixed Digital Signature Verification MDP issues on annotation-related changes to the PDF structure tree.
  • [pdf] Adjusted digital signature verification MDP support to allow additions of resources that are not referenced.
  • [pdf] Adjusted permission checking in Digital Signature verification for unusual cases where there is only FieldMDP, but no DocMDP.
  • [pdf] Fixed Digital Signature Verification MDP issues related to Field additions.
  • [pdf] Fixed a problem with Digital Signature Verification comparisons in MDP logic that could lead to some changes being ignored.
  • [xfdf] Fixed a problem when the blend mode exported to XFDF could be miscalculated on annotation appearances with transparency groups.
  • [pdf] Updated logic in PDFDoc.AnnotPushBack to correctly adjust Widget rotations when a new annotation is added to a rotated page.
  • [html] Fixed a problem where .htm would not be recognized for interop conversion. This bug did not effect the recommended HTML2PDF module.
  • [all] Removed deprecated logic that would send an HTTP request to an invalid address when using usage tracking production keys. Originally the request would fail and be ignored.
  • [java] Fixed a crash occurring in the ObjectIdentifier constructor when passing in an int constant.
  • [xfdf] Fixed a problem where XFDF export could not include appearances for documents where the appearance is default, but placed incorrectly. Previously this could lead to the annotation being misplaced in WebViewer.
  • [pdf] PDF loading will no longer rely on the length key for encryption revisions 4 and 5. Previously loading encrypted documents missing the Length key would cause an exception to be thrown.
  • [pdfa] When a font is referenced with Text Rendering Mode 3 (i.e. invisible text), pdfa validation will now validate items that are not related to font embedding.
  • [pdf] Fixed issue where GeometryCollection snapping logic could sometimes snap when beyond the end of a line segment.
  • [pdf] Fixed potential crash in PDFView/PDFViewCtrl when rendering thumbnails for corrupt documents.
  • [pdf] Fixed a problem where Times New Roman could be incorrectly mapped to the font Times Roman.
  • [.net] Fixed a issue with .Net builds other than .Net4, where the IO.Stream PDFDoc constructor would not function correctly if the stream was not seekable. Due to some changes in the language this seems to be relatively easy to trigger in .Net6.
  • [pdf] Adjusted ElementBuilder.CreateShapedTextRun to correctly take all runs into account for subsequent length or BBox computations. Previously only the first part of the text run would be taken into account.
  • [AdvancedImaging] Fixed an issue with resource paths containing spaces.
  • [Webfonts] More robust handling of file: URLs.
  • [txt] Fixed a potential crash bug when converting text files using a Filter input on Linux systems.

Office Fidelity:

  • [docx] Fixed an issue with floating boxes larger than the page content size.
  • [docx] Fixed an issue with handling all/left/right line break types for RTL and justified text.
  • [xlsx] Can now obtain chart data from Excel sheets when missing strCache/numCache elements.
  • [xlsx] Fixed a bug in calculating the number of table rows on a page with a page break in Excel.
  • [xlsx] Now correctly take last row/column size into consideration when breaking pages in Excel.
  • [xlsx] Fixed a bug where the bottom margin of a page could sometimes be counted twice.
  • [xlsx] Implemented support of print titles (rows and columns repeating on each page) for Excel.
  • [xlsx] Fixed incorrect clipping to page margins, and for Excel sheets split into multiple pages.
  • [xlsx] Fixed an issue with an over-strict internal check, leading to a spurious exception with some Excel files, when split across pages.
  • [docx] Now correctly handle tables in frames.
  • [docx] Fixed an incorrect chart scaling issue.
  • [docx] Fixed an issue with table alignment leading to incorrectly split rows between pages.
  • [pptx] Fixed issues with property inheritance and bullet characters in pptx files.
  • [docx] Implemented proper handling of vertically merged cells split between pages.
  • [office] Added partial support for "bar of pie" charts.
  • [docx] Fixed an issue with transformed images within transform groups.
  • [docx] Added support for named fill colors, like "aqua", and "dodger blue".
  • [pptx] Corrected handling of duplicate style definitions to match MS Word.
  • [docx] Fixed a number of issues surrounding line spacing with tabs and empty paragraphs.
  • [docx] Improved the line-breaking behaviour when multiple styles are present in a single line.
  • [docx] Expanded bookmark support to include bookmarks with more naming conventions.
  • [office] Improved clipping of chart contents.
  • [office] Corrected behaviour for out-of-bounds values in bar charts.
  • [office] Improved support for sparkline charts.
  • [docx] Added support for the w:hyperlink element with w:anchor attribute that references a bookmark.
  • [docx] Implemented HYPERLINK field support.
  • [office] Added support for complex background fills in charts.
  • [office] Added support for reading the dLbls element for bubble chart series.
  • [office] Fixed handling of bubble charts with multiple axes.
  • [office] Fixed a number of issues with data label placement for bubble and scatter charts.
  • [xlsx] Added ability to set chart data labels text to the values of a cell range.
  • [office] Fixed an issue with applying series outlines to data markers.
  • [docx] Correctly clip inline pictures to line height.
  • [xlsx] Fixed misleading error message regarding cell limits.
  • [docx] Fixed an issue with incorrect trailing glyph widths on some text lines within a generated PDF.
  • [docx] Now correctly preserve paragraph "before" spacing between section breaks.
  • [doc] Added support for embedded fonts within legacy .doc files.
  • [pptx] Fixed an issue with EOT font decoding which could sometimes result in deformed letters.
  • [emf] Avoid crash when handling an non-existent pattern brush in EMF images.
  • [pptx] Updated the color mixing algorithm for shade modifications. It now takes into account gamma color corrections.
  • [docx] Now correctly include table cell bottom borders in table size calculations.
  • [docx] A number of fixes for positioning rotated and clipped images.
  • [xlsx] Now skip Excel sheets with either zero rows or columns.
  • [ppt] Added hyperlink mapping to the legacy ppt format.
  • [emf] Fixed an issue with the StretchBlt operator in emf files, when the image does not require stretching.
  • [xlsx] Expanded handling of the ISERROR Excel function.
  • [xlsx] Added support for the ISNA Excel function.
  • [docx] Fixed handling of underlines, tabs, and fill strings to better duplicate the behaviour of MS Word.
  • [docx] Improved the positioning of some floating content when anchored to table cells.
  • [docx] Now correctly preserve newlines within vertically merged table cells.
  • [docx] Fixed an issue with table cells that are both vertically and horizontally merged.
  • [pptx] Fixed an issue with hyperlink colors using the wrong lookup index in PowerPoint files.
  • [ppt] Fixed a number of issues with list styles in legacy .ppt files.
  • [ppt] More robust handling of malformed legacy .ppt files.
  • [pptx] Now correctly preserve order dependence for color modifications in PowerPoint files.
  • [xlsx] Added locale support for month names and weekday names for Excel files.
  • [xlsx] Added support for locale-specific long date and times in Excel files.
  • [docx] Fixed a bug with rotated boxes that are sized to fit their content.
  • [docx] Fixed a bug with auto-sizing drawings to fit within boxes.
  • [docx] Improved handling of bottom padding in a table cell when a bottom border is specified.
  • [docx] Added support for the centerGroup alignment element.
  • [pptx] Improved handling of the "auto" color for text with dark backgrounds.
  • [ppt] Added better support for some default placeholder values in legacy .ppt files.
  • [pptx] Fixed an issue with paragraph property inheritance in pptx files.
  • [docx] Fixed a bug with clipping of merged table cells.
  • [xlsx] Added support for the "indent" alignment property of Excel cell styles.
  • [xlsx] Now correctly hide table cell borders when covered by overflow text.
  • [xlsx] Added support for external workbooks in Excel, with cached data.
  • [docx] Fixed a potential crash when handling some charts with empty data sets.
  • [docx] Fixed a potential crash when processing form data into text runs.
  • [pptx] Improved handling of the interaction between spcBef and spcPct elements in PowerPoint files.
  • [office] Corrected handling of the xml::space attribute for elements within the w namespace.

Get the answers you need: Chat with us