PDFTron logo

PDFNet SDK - What's New?

September 4th, 2020 - Version 8.0.0

New Features

  • Digital Signature Verification is now out of beta.
  • New APIs for certificates (X509Certificate) and a number of other Digital Signature related classes.
  • Digital Signing support for Embedding Secure Timestamps and Long Term Validation (LTV).
  • Accessibility: built in office conversion now produces tagged PDFs.
  • Added native support for the xls format, rounding out our support of the 6 main "office" formats (docx, pptx, xlsx, doc, ppt, and now xls)
  • Added support for Right-to-left languages within office files.
  • Added options for converting Excel sheets into multiple PDF pages.
  • Added new API for text shaping, enabling support for visually complex scripts (like Thai and Hindi) using elementbuilder.
  • Support for Compressing Monochrome (1 bit per pixel) Images with CCITT Group 4 lossless compression in Optimizer or during PDF image creation.
  • Utility functions to refresh all missing appearances and more easily create custom appearances. (PDFDoc.RefreshAnnotAppearances() and Annot.RefreshAppearance(RefreshOptions))
  • Support for Option Content Groups/Layers (SetOCGContext) in TextExtractor and TextSearch.
  • Added a new function PDFACompliance.GetDeclaredConformance which can get the conformance level specified in the document.
  • Node.js: added support for TypeScript and Node versions 13 and 14.
  • CAD module: added options to specify background color, color mode, handling of thin lines, and xref search paths.

Changed Behaviour

  • By default Optimizer will now use CCITT Group 4 compression for monochrome images. This is because the previous default of JBIG2 caused a number of issues due to its lossless nature.
  • The display and appearance generation of Rectangle annotations has been adjusted to be more in line with other applications. It is recommended to test any custom creation or viewing logic for these annotations.
  • The display and appearance generation for FileAttachment annotations has been adjusted to be more in line with other applications. In particular the aspect ratio has been changed for certain icons. It is recommended to test any custom creation logic of these annotations and refer to the FileAttachment class documentation for more information about the new appearance aspect ratios.
  • During PDFViewCtrl.OpenUrlAsync placeholder pages (for those which haven't finished downloading) will now throw an exception if they are edited. Most viewers handle this by disabling these edits during download.
  • TextExtractor and TextSearch now use the default OCG/Layers by default.
  • By default the logic to skip the watermark layer for Text Extraction has been disabled.
  • Changed Field.SetValue() to no longer turn on the current radio button when passing "True" "Off" or "On". The boolean version of SetValue() should be used instead for this.
  • The `Convert.StreamingPDFConversion` API will now throw an exception in the case where it is unable to initialize the conversion (previously returned a null or invalid object

Other Changes

Roughly categorized, not an exhaustive list.

Improvements

  • [pdf] PDFViewCtrl.OpenUrlAsync has been optimized significantly by reducing contention on the document lock.
  • [html] Updated HTML2PDF module on MacOS, since the latest versions of the operating system no longer support 32-bit applications.
  • Node.js builds no longer require a step to install or reference the library on Linux/Mac.
  • [office] Improved .msg office interop conversion.
  • [pdf] Copy over calculation order as appropriate during page import or merge. This is important to keep certain JavaScript actions working.
  • [pdf] Fixed an infinite loop in linearized save when handling corrupt documents with a page-tree cycle.
  • [pdf] Avoid throwing errors when encountering corrupt line operators that have non-number parameters.
  • [xfdf] Support importing appearance image data in Signature Widgets.
  • [pdf] Updated diff logic to reduce exceptions thrown on corrupt documents.
  • [xfdf] Avoid throwing exceptions on XFDF export when encountering corrupt annotation objects.
  • [pdf] Adjusted Optimizer to process existing annotation appearances. This gives a bit more room to reduce the document size in addition to fixing some problems with the subset option.
  • [svg] Adjusted PDF2SVG logic to flatten paths filled with patterns, since these were not previously supported.
  • [pdf] Adjustment to throw out integers that are over implementation limits during parsing. This better matches the behaviour of other PDF consumers.
  • [pdf] The cache file provided to PDFViewCtrl.OpenURLAsync will now be written even if the server doesn't support byte ranges or Content-Length.
  • [xfdf] Improved error handling for corrupt annotations during FDFUpdate.
  • [xod] In error cases where temporary files cannot be opened throw exceptions to the user rather than failing silently.
  • [pdf] Improved logic for rebuilding corrupt documents to better handle indirect length entries.
  • [xfdf] Added repair logic in PDFDoc.FDFUpdate for corrupt Fields that are not in the Acroforms dictionary. This is important to allow the Field value to be updated.
  • [xfdf] Improved identification of changed annotations in PDFDoc.FDFUpdate in order to keep more existing annotation appearances.
  • [pdf] Updated FieldIterator to avoid returning Null objects on corrupt documents that utilize these in the field hierarchy.
  • [pdf] Updated document Resource caching logic to provide much better performance on heavily multithreaded applications.
  • [pdf] Improved error handling in the Node.js interface.
  • [pdf] When importing objects into a new document (for example when merging) avoid throwing an exception if subobjects are corrupt.
  • [xfdf] Added better handling for corrupt annotation Border entries in XFDF export.
  • [pdf] ElementBuilder.CreateTextRunHelper will now just use the input as charcodes for some symbol fonts, since unicode input doesn't make much sense for such fonts.
  • [pdf] Much improved handling of font substitution internal flow, resulting in more accurate matches and better performance.
  • [pdf] Improved the performance of the Windows font substitution backend, making it better at finding Bold and Italic font variants in some situations.
  • [tiff] Add support for extra tiff samples in the case where channels are arranged in a planar configuration.
  • [pdf] More robust handling of (corrupt) files with non-embedded fonts and missing toUnicode maps.
  • [pdf] Improved error messages for failed conversions.
  • [pdf] More robust handling of (technically corrupt) type0 CID fonts with a CIDToGID map.
  • [pdf] Improved pixel-hinting of thin rectangles that partially overlap clipping paths.
  • [pdf] Improved support for extended unicode text (outside of the basic multilingual plane)
  • [tiff] Added support for YCbCr colorspace images.
  • [OCR/CAD] Better error messages from sub-modules
  • [OCR] Improved logic for determining the "native" dpi of an incoming document, and added option to explicitly specify the dpi.
  • [CAD] Now support referenced .gp4 images in CAD files.

Fixes

  • [pdf] Fixed an occasional crash when flattening annotations on a specific type of file.
  • [pdf] Updated hide action logic to also consider with the noview flag. This fixes actions on an uncommon type of document that relies on this flag.
  • [pdf] Fixed occasional race condition crash when viewing some PDF prime documents.
  • [pdf] Adjusted ContentReplacer to avoid introducing unrelated changes when updating certain PDF files.
  • [xps] If PNG image has an invalid resolution the default DPI is now used in xps to pdf conversion.
  • [xfdf] Fixed a problem on certain files during XFDF export where, in rare cases, annotation properties could be written on the wrong element.
  • [office] Fixed a breakage in excel support through interop.
  • [xfdf] Adjusting appearance rendering logic for stamp annotations during XFDF export to better support pattern transformations.
  • [pdf] Adjusting reflow squiggly underline output to use a wavy underline rather than strikeout.
  • [pdf] Fixed a bug in SDF.NameTree where the tree could be split incorrectly. (and certain values could become inaccessible)
  • [pdf] Fixed a crash in Field.SetValue if called on a corrupt Widget without a connected field.
  • [pdf] Fixed an issue setting the value of certain choice fields.
  • [xfdf] Adjusted support for MaxLen property to use the value in the first Widget, which better matches behaviour in other viewers.
  • [pdf] Fixed a potential crash calling CloseDoc() after there has been an error during download/PDFViewCtrl.OpenUrlAsync.
  • [pdf] Fixed corrupt document repair to ensure that the last object of a given number is used.
  • [pdf] Adding check for badly formed stream objects masquerading as Object Streams to avoid throwing them out on save.
  • [pdf] Fixed a crash in FreeText.RefreshAppearance when encountering an empty DA entry.
  • [xod] Fixed a problem where the first few thumbs would be included when streaming to XOD even if they were turned off.
  • [pdf] Fixed an occasional crash in PDFViewCtrl.OpenUrlAsync, triggered by an early failure in the download process.
  • [image] Fixed a crash when encountering problems in multipage tiff conversion.
  • [xfdf] Fixed a bug where, in rare cases, field values could incorrectly end up with XML escaped output after XFDF import.
  • [xod] Added basic support in XOD conversion for Image Soft Mask Matte entry.
  • [pdf] Fixed an issue where calling ElementWriter.Begin could incorrectly throw an exception on certain types of documents.
  • [pdf] Fixed a problem with image downsampling of annotation appearance streams. Previously these would rarely be downsampled.
  • [xfdf] Fixed a problem with importing/merging fields with complex inheritance structure.
  • [pdf] Fixed DigitalSignatureField.ClearSignature() so it would clear global document state if no signatures remain.
  • [xps] Fixed a problem with extracting the dpi from jpeg or tiff files when they have dots-per-cm units.
  • [html] Dropped the font size limit for html2pdf to work better with the latest macOS and retina displays.
  • [pdf] Added default style parsing for text color in FreeText annotations. This fixes issues with text color when importing from XFDF.
  • [xfdf] Fixed a problem handling corrupt Pages with duplicate annotation ids in PDFDoc.FDFUpdate.
  • [pdf] Text extraction will now properly handle subforms even if a corruption is encountered in them.
  • [pdf] When redacting the logical structure is now erased when to better ensure nothing relevant slips through.
  • [pdf] Fixed a problem handling radio buttons with a non-unicode on state.
  • [xfdf] Added support for Stream values in text fields when exporting XFDF.
  • [pdf/xod] Fixed an issue with flattener where text that was covered by an almost transparent layer before being occluded would be displayed on top.
  • [pdf] Resolved an issue with drawing rectangle annotations with the cloudy style.
  • [bmp] Fix for handling of some transparent .bmp files where the background could remain uninitialized.
  • [pdf] Fixed an issue with our handling of malformed cmaps that could result in bad memory accesses.
  • [viewer] Fix for potential deadlock when calling PDFView.Update()
  • [pdf] Fixed issue with separation blending not working correctly when the page blend space is RGB.
  • [pdf] Fixed potential crash when rendering a softmask with an empty group entry.
  • [pdf] Fixed a rare issue with resolving cmap entries within TrueType fonts that could lead to garbled text rendering.
  • [OCR] Fixed a bug where we would not properly handle escaped backslashes within json input.

Native Office Fixes and Improvements

  • [office] More accurate reproduction of tinted theme colors
  • [office] Many improvements to embedded font resolving, with powerpoint files seeing the most improvement.
  • [pptx] Can now make use of docx "resource documents" when converting pptx files
  • [office] Improvements to our handling of "tricky" font names that resemble other known fonts.
  • [office] Change default checkbox rendering to use a box, rather than a windgdings glyph.
  • [pptx]Added color override map support for each individual slide, as opposed to just the master and layout slides.
  • [office] Chart improvements: data labels are now better supported, improved legend positioning, allow entries to be deleted from the legend.
  • [docx] More precise handling of text-float overlap and interactions.
  • [pptx] More accurate determination of text line height in powerpoint.
  • [docx] Better resolving of floating content positions in complex documents.
  • [docx] Added support for the "dxa" form of table margins.
  • [docx] More accurate calculation of table row heights.
  • [office] Added basic support for the multiLvlStrRef element in charts.
  • [office] Added preliminary support for some math elements.
  • [office] More robust handling of unsupported graphic data (attempt to use alternate content in more situations)
  • [office] Added support for vertical text within table cells.
  • [office] Added support for tiled image fills.
  • [office] Added support for duotone image recoloring
  • [docx] Added support for repeated table headers, where the header of a table is placed at the top of each page.
  • [office] Now correctly resolve solid fill colors with an inherited "noFill" property.
  • [doc] Fix for handling of .doc tables with mismatched content and column count.
  • [docx] Fix for potential errors in mapping of individual symbol elements.
  • [pptx] Fixed issue with decoding some embedded glyphs.
  • [office] Fixed issues with resolving "auto" background colors in different contexts.
  • [docx] Fix for oversize tables not properly overflowing their parent containers.
  • [docx] Fixed error in treatment of individually set cell margins (under the 'tcMar' element)
  • [docx] Fixed bug with resolving inherited hanging indent values.
  • [docx] Relaxed the rules for placing floating content in footers, rather than skipping it.
  • [office] Fix for bug where text styles were not fully resolved when determining the height of a line break.
  • [xlsx] Fix for a bug where unresolved formatting codes would result in a failed conversion.
  • [office] Now correctly handle vertically merged table cells in tables with the "gridBefore" property
  • [office] Improved support for handling of embedded EMF files.
  • [excel] Fix for our handling of cells with the special number format code "General"
  • [excel] Fix for mishandling of table margins specified within the tblPrEx tag.
  • [excel] Now allow conversion of xlsx sheets with no fonts defined.
  • [docx] Fixed issue where a local "auto" line spacing rule would not properly override a global non-auto spacing.
  • [docx] Now correctly handle NUMPAGES dynamic content within fldSimple elements.
  • [excel] More robust handling of format codes with leading and trailing spaces.
  • [docx] Correctly handle the case where numbered lists should inherit styles from the paragraph run properties.
  • [docx] Fixed a bug where shapes were incorrectly constrained to the bounds of the page area.
  • [pptx] Fix for occasional bad text positioning inside shapes.
  • [pptx] Fixed incorrect cropping of transformed images.
  • [office] Fixed handling of images with a global opacity value.
  • [office] Fixed occasional incorrect handling of isolated symbols (list bullets, for example)
  • [ppt] Fix for incorrect handling of default kerning values for ppt files.
  • [doc] Fix incorrect positioning of grouped shapes within .doc files.
  • [office] Fixed a number of issues with chart axis positioning
  • [doc] Fixed incorrect handling of MS1252 encoded text in doc files.
  • [office] Fixed a crash in pie chart drawing when trying to draw 0-size slices.
  • [office] Fix for mishandling of some format codes with non-ascii values.
  • [docx] Fixed a number of issues with content controls

February 18th, 2020 - Version 7.1.0

New Features

  • Digital Signature Verification
  • Added support for creation of Viewer Optimized PDF files (PDFDoc.SaveViewerOptimized).
  • Viewers have been updated to take advantage of Viewer Optimized PDF.
  • Added annotation API to read, write and delete custom data. (Annot.SetCustomData, Annot.GetCustomData and Annot.DeleteCustomData).
  • Added the SetRequiredFieldBorderColor() method to PDFView and PDFViewCtrl.
  • Added functions Ink.SetHighlight and Ink.GetHighlight to choose whether the Ink will display like a highlighter.
  • Added ElementWriter.WriteGStateChanges() which can simplify use cases where the intention is to only write the graphics state of an element.
  • Added options for line weight and auto rotation to CADConvertOptions.
  • Added DPI option for to OCROptions.
  • Added built-in support the ppt format, can now view and convert these files to pdf.

Changed Behaviour

  • .Net Framework builds are now dependent on the Microsoft Visual C++ Redistributable Packages for Visual Studio 2013 rather than the Microsoft Visual C++ 2010 Redistributable.
  • Digital Signatures will now be signed with SHA256. (previously SHA1).
  • Ink.SetBlendMode and Ink.GetBlendMode functions have been deprecated.
    Customers are encouraged to use `Ink.SetHighlight` and `Ink.GetHighlight` instead, as they are more aligned with the PDF specification, and offer greater compatibility with other PDF readers, such as Adobe Acrobat.

Other Changes

Roughly categorized, not an exhaustive list.

Improvements

  • [pdf] Page labels are now included when converting PDF -> EPUB
  • [pdf] When generating appearances for Widgets, only use a font if it can represent all of the glyphs that are meant to be drawn in the widget.
  • [pdf] Adjusted XFDF import of Widgets to not be dependent on the position of elements within the XFDF document.
  • [xod] Added logic to upsample the smaller of the soft mask or associated image when converting to XPS/XOD. This allows us to export the entire image as RGBA, which greatly improves rendering performance and memory usage.
  • [pdf] Updated Annot.Flatten and ElementBuilder.CreateForm to have complete support for nozoom, norotate and sticky note annotations.
  • [pdf] Improved FieldIterator support for invalid/null/free Field entries.
  • [pdf] Updated FDFUpdate to be less strict about certain differences in the XFDF. This allows it to maintain original annotation appearances more often.
  • [pdf] Added support for multi-select list boxes when exporting and importing XFDF.
  • [xod] Added an option for image smoothing in XOD. This is important to allow XOD to exactly match PDF rendering.
  • [pdf] FileAttachment annotations can now be imported from XFDF.
  • [pdf] Can now initialize the SDK with a full license key after initializing with an empty key within the same session.
  • [xps|office] Optimization for finding the zip signature in damaged zip files/non-zip files. About 1000 times faster for these cases.
  • [office] Added support for balanced column layouts.
  • [office] Added support for images with the 3D camera rotation properties.
  • [office] Added support for embedded hyperlinks, they are not converted to the equivalent PDF annotation.
  • [office] Added support for clipping content within text box and table cell.
  • [xlsx] Added support for diagonal cell decorations.
  • [office] Added support for extended cell border styles.
  • [xlsx] Improved memory usage for sheets with large numbers of columns and/or rows

Fixes

  • [pdf] Fixed a potential crash when importing XFDF Widgets.
  • [pdf] Fixed a potential race condition when running PDF/A conversion in multiple threads.
  • [pdf] Fixed a crash exporting XFDF on very specific PDF files.
  • [pdf] More lenient handling of oddly formed floating point numbers.
  • [pdf] Fix for issue where importing PDF pages was not pulling in OCG layers used only in annotations.
  • [pdf] Fixed issue where we could incorrectly identify large glyph indices as UTF16 surrogates.
  • [pdf] Improved internal unicode data paths to fully support codepoints off the Basic MultiLingual Plane.
  • [pdf] Work around Java string behaviour where an added null terminator could make the string not equal.
  • [xod] Adjusted XOD flattening and rendering logic to handle the case where special blend modes are used within transparency groups. Necessary because these cases cannot be easily represented in xod/xps.
  • [pdf] Fix for potential performance issue when skipping a lot of nulls at the end of a file.
  • [pdf] Fixed XFDF import error, where if an arrow had the xml attribute "end" before "start" the points could be switched around.
  • [pdf] Avoided exception from being thrown in XFDF export when encountering zero length action arrays.
  • [pdf] Sanitizing metadata strings in PDF/A to avoid erroneously reporting errors when there are trailing nulls.
  • [pdf] Fixed a problem in TextExtraction where e_remove_hidden_text would malfunction when the page is rotated.
  • [pdf] Fixed a problem in TextExtraction where fully clipped text was not actually skipped.
  • [pdf] Fixed a bug in RemoveAppearance where it wouldn't do anything without an appearance state dictionary. This means it would fail for all common annotation types.
  • [xod] Annotations appearances are now always included even if the annotation is hidden, so they can be shown by consumers (like WebViewer) when the setting is changed.
  • [pdf] Adjusted stamp appearance exporting logic in XFDF to take page rotation into account. This is important to avoid losing image quality when importing and exporting.
  • [pdf] Added repair logic for corrupt PDF documents with multiple Field objects with the same name. This is only applied when NeedAppearances = true.
  • [pdf] Fixed problem with importing XFDF destinations where some values are treated as default.
  • [pdf] Adding logic to remove unused popups when importing XFDF. This could appear as extra invisible annotations in certain viewers.
  • [pdf] Adjusted hint stream writing for linearized save to align bytes between sections for embedded thumbnail data.
  • [pdf] THead, TBody, TFoot are mapped to nonstruct when converting to PDFA-1. Previously conversion of files containing these would not pass validation for other vendors.
  • [pdf] Flattener public API could watermark even if a user had the permission. Now properly handles license permission.
  • [pdf] Fixed XFDF Widget Import issues that would typically lead to an exception being thrown.
  • [html|epub] Fixed bug where under certain circumstances the same HTML element with the same ID could be injected (malformed HTML).
  • [xod] Fixed a problem in PDF to encrypted XOD conversion where the appearance file could be inaccessible from WebViewer.
  • [pdf] Sorted out a problem where certain corrupt PDF files would throw exception on Linearized save.
  • [pdf] Added support for non-integer intensity for cloudy annotations.
  • [pdf] Fix some cases where we would not properly render field highlights with no appearance.
  • [pdf] Fix a rare issue with viewer render tiles not being invalidated correctly.
  • [pdfview] Fixed an issue where goto actions could scroll the view away from the destination page.
  • [pdf] Fixed an issue where temp files would potentially not get cleaned up after XOD creation.
  • [pdfview, c++] Fix for potential crash when rendering annotations with 1-pixel bounding boxes.
  • [pdfview, c++] Fixed a bug that could cause a refresh loop in some cases involving annotations with the nozoom flag set.
  • [pdfview, c++] Fix for annotation edit control not updating correctly on zoom + pan of the document.
  • [pdf] Added support for the "Matte" softmask property.
  • [pdf] Handle the case where a DeviceN CS is specified as being an NChannel subtype, but is missing the Colorants array.
  • [pdf] Fix for isolated cases where the stroke and fill for a softmask should be obtained from the parent context.
  • [pdf] Fix for rare crash when rendering content with constant alpha value of 0.
  • [pdf] No longer render fileattachment annotations when there is no icon set.
  • [OCR] Improved handling of scaling with rotated pages.
  • [pdf] Improved internal unicode data paths to fully support codepoints off the Basic MultiLingual Plane
  • [pdf] Fix for rare errors when expanding CCIT encoded images on linux.
  • [pdf] Improved handling of the "All" separation in some cases when rendering in overprint preview mode.
  • [pdf] Fix for bad text extraction in some cases where isolated vertical text lines could improperly change our treatment of the page.
  • [CAD] Will now determine the ideal page size automatically in more cases.
  • [CAD] Better reporting of error conditions.
  • [CAD] PDFs converted from DWG files now convert the page labels.
  • [pdf] Improved handling of ttc font files. More complete enumeration of fonts within the collection.
  • [pdf] More robust font substitution when dealing with edge cases and non-typical font name formatting.
  • [pdfview, c++] Fix for unresponsive behaviour when progressive rendering is disabled.
  • [pdfview] Fixed case where GetAnnotationAt() could return incorrect results when handling highlight annotations with multiple quads.
  • [pdf] Fix for slight over-clipping of curved shapes which are flush with the edge of a clipping path.
  • [pdf] Fix for handling of linearized saves when the Undo/Redo manager is in use.
  • [pdf] When using ElementBuilder, now correctly generate CID fonts containing glyphs for codepoints outside the basic Mulilingual Plane.

Office Fixes

  • [docx] Improved support for positional tabs.
  • [office] Better support for fonts with non-standard name formatting.
  • [office] Improved support for incomplete embedded fonts.
  • [office] Improved support for symbol fonts.
  • [office] Improved support for bullet list with custom bullets.
  • [docx] Improved support for east Asian text placement, in particular when grid placement is enabled.
  • [xlsx] Fixed bug where certain equations within conditional formatting rules would not be evaluated.
  • [docx] Fix for smart art with nested text rotations exceeding 360 degrees.
  • [docx] Make use of AlternateContent->fallback content in the case where the primary content cannot be used.
  • [docx] A number of fixes for positioning of floating elements within table cells.
  • [docx] Improvements to the placement of floating elements anchored to paragraphs.
  • [office] Fixes for positioning of floating tables.
  • [office] A number of fixes for positioning of floating content in multi-column layouts.
  • [office] Improved support for change tracking. Now support style-only changes, changes within bullet lists, and multiple-user changes.
  • [docx] Improved handling of first-line indentation in a number of situations.
  • [xlsx] Added support for the ISBLANK function.
  • [pptx, docx] Many refinements to spacing of vertical placement of text lines, both within and between paragraphs.
  • [xlsx] A number of improvements to placement of chart labels, data, and axes.
  • [xlsx] Fixed case where empty sheets could cause us to ignore other non-empty sheets in the document.
  • [xlsx] Now handle "automatic" cell coloring correctly.
  • [docx] Corrected conversion of form checkboxes.
  • [pptx] Fixed bug that could apply the default text style to empty lines in some cases.
  • [xlsx] Correctly handle the case where the font list has no "count" attribute.
  • [xlsx] Multiple improvements to date and number formatting.
  • [office] Improved handling of fonts that have a negative line gap (like Courier New).
  • [docx] More precise handling of text positioning around floating elements.
  • [office] More robust font subsitution handling with text containing unusual whitespace codepoints.
  • [office] Fix for incorrectly adding an outline to text with the draw_outline attribute set to 0.
  • [docx] Fix for infrequent table layout error that could sometimes skip table rows when breaking across pages.
  • [docx] Corrected placement of some headers and footers on even pages.
  • [docx] Fix for occasionally placing an empty row at the end of a page when splitting tables across pages.
  • [xlsx] Fix for skipping cell borders in isolated cases involving horizontally merged cells.
  • [xlsx] Ensure that the page size is sufficient to contain all drawings and charts.
  • [xlsx] Fix for incorrect handling of some unicode elements in format strings.
  • [doc] Fixed bug that resulted in incorrect enumeration of section properties.

August 20, 2019 - Version 7.0.1

New Features

  • Added utility functions to ComboBoxWidget and ListBoxWidget which simplify reading and editing options. (GetOptions(), ReplaceOptions() and RemoveOption())

Other Changes

Roughly categorized, not an exhaustive list.

Robustness

  • [xod] Better support corrupt PDF content streams with mismatched BT and ET entries.
  • [xps] Fixed a potential crash when reading JPEG XR files on non-windows platforms.
  • [pdf] Fixed an issue with PDFViewCtrl.OpenURL error handling when losing internet connection while download is in progress.

Improvements

  • [pdf] Adjusted ElementBuilder.CreateRect to support input rectangles that are not normalized.
  • [xps] Added basic detection for proprietary PhotoShop headers that impact jpeg scaling in XPS files.

Bugfixes

  • [pdf] Adjusted XFDF import for Form Fields to properly construct missing fields and appearances.
  • [pdf] Fixed a problem with DigitalSignatureField.GetDocumentPermissions.
  • [pdf] Fixed filled Polyline rendering when there are line beginning/ending styles.
  • [pdf] Fixed a problem where per page XFDF export would sometimes not include all of the field attributes.
  • [xod] Fixed an uncommon issue where some completely masked graphics would be visible after ToXod conversion.

July 25, 2019 - Version 7.0.0

New Features

  • CAD conversion module and API (`Convert.FromCad`)
  • OCR module and API (`OCRModule` class)
  • Updated API for Digital Signature creation (`DigitalSignatureField` and `DigitalSignatureIterator` classes).
  • Programmatic, low-level Undo/Redo API. (`UndoManager`, `ResultSnapshot` and `DocSnapshot` classes)
  • Added an in-memory interface for rendering individual separations. (`PDFDraw.GetSeparationBitmaps `and `PDFRasterizer.RasterizeSeparations`).
  • Added extra modes to geometry snapping: snap to point on line, snap to midpoint, and snap to line intersection.
  • Added Widget functions to Set/Get Text Color, Font and Font Size.
  • New Widget API for form field creation/access. (`TextWidget`, `CheckBoxWidget`, `RadioButtonWidget`, `RadioButtonGroup`, `PushButtonWidget`, `SignatureWidget`, `ListBoxWidget` and `ComboBoxWidget` classes).
  • Added an API allowing sound annotations to be created from raw sound data. (`Sound.CreateWithData`).
  • New method for easily rotating an annotations appearance by an arbitrary angle.

Changed Behaviour

  • ToXod default options have been changed. The XOD default setting for flattening is now `e_high_quality` (previously `e_fast`) and the default setting for line thickening is false. (previously true).
  • The HTML2PDF module is now included as part of desktop release packages.
  • Unused ConnectToCloud API was removed.
  • The GDI+ Rasterizer has been marked as deprecated and will be removed in a future version of PDFNet.

Other Changes

Roughly categorized, not an exhaustive list.

Robustness

  • [pdf] Improved error handling when processing JPEG 2000 files.
  • [pdf] Handle separation names that are not valid Unicode.
  • [pdf] Better recover from errors in initial document loading when JavaScript is enabled.
  • [pdf] Fixed a problem where particular JBig2 files could not be completely read.
  • [pdf] Better handle corrupt documents consisting of two PDFs stitched together.
  • [pdf] More robust handling of temp files and directories with unexpected permissions.
  • [xod] Now limit the number of pattern usages before flattening will occur. This is needed to avoid frequently used simple patterns from making very complicated output files.
  • [pdf] Updated `ElementWriter` to better support editing of any existing PDF file when used in conjunction with `ElementReader`. (`ElementWriter.SetDefaultGState` and updated `ElementWriter.Begin`).

Improvements

  • [pdf] Updated XFDF import to support importing Form Fields, Links and File Attachments.
  • [pdf] Output the “All” separation when in separation export mode.
  • [xod] Added elements to XOD files to support faux bold (stroked and filled text).
  • [pdf] Added better handling for zero-area filled paths.
  • [pdf] Improved redaction annotation rendering to support custom attributes used in Acrobat.
  • [pdf] Support encrypting files with no user password using AES 256.
  • [pdf] Adjusted `RefreshAppearance` for Radio Buttons to produce output similar to other PDF viewers.
  • [xod] Adjusted logic so if flattening is not disabled that pages with Knockout or Isolated Transparency groups are flattened.
  • [pdf] Updated logic so that the level passed to `PDFNet.SetDefaultFlateCompressionLevel()` will be respected even for image compression. (where the maximum compression setting would generally be used).
  • [pdf] Added support for soft masks in PNG and TIFF image export.
  • [pdf] Added a dropdown indicator for combo boxes.
  • [pdf] Now automatically support arbitrary rotations of rubberstamp annotations.

Optimizations

  • [pdf] More efficient handling of empty transparency groups.
  • [pdf] Improved performance of `SetDoc` in `PDFview` by asynchronously reading page info.
  • [pdf] Lowered memory usage when incrementally saving to stream.
  • [pdf] Optimized reading from a file that has been edited.
  • [pdf] Optimized parsing of PDF documents with large amounts of whitespace.

Bugfixes

  • [pdf] Fixed a bug where `IsModified` can return true after a save when undo redo is used.
  • [pdf] Fixed bug where we would fail to save to documents with malformed “Rights enable” dictionaries.
  • [pdf] Fixed a bug where we would sometimes mishandle softmasks smaller than their containing group.
  • [pdf] Fixed bug where disabling annotation rendering in the viewer would not disable it in thumbnails.
  • [pdf] Fix bug in .Net wrapper where exceptions thrown in the `PDFDoc` constructor could crash.

Office

  • [xlsx] Added support for "sparkline" charts in xlsx files.
  • [xlsx] Added support for the NPER (number of periods) financial function.
  • [docx] Now correctly display change-tracked content.
  • [xlsx] Now correctly display drawings in sheets that are outside the table bounds.
  • [docx] Better support for text frame elements in .docx files.
  • [xlsx] Added support for inline strings within table cells.
  • [xlsx] Improved behaviour when text within a cell exceeds the horizontal cell bounds.
  • [docx] Improved positioning of some forms of rotated images.
  • [xlsx] Improved positioning of some forms of rotated images.
  • [pptx] Slightly improved handling of text effects.
  • [xlsx] Improved positioning category axis legends.
  • [docx/pptx] More robust handling of symbol encoded text runs.
  • [office] Better handling of oddly named fonts, where the style is part of the name

March 4, 2019 - Version 6.10.0
November 2, 2018 - Version 6.9.0
April 3, 2018 - Version 6.8.0
November 14, 2016 - Version 6.7.1
January 12, 2016 - Version 6.6.0
May 14, 2015 - Version 6.5.0
January 20, 2015 - Version 6.4.0
October 3, 2014 - Version 6.3.0
March 12, 2014 - Version 6.2.0
November 1, 2013 - Version 6.1.0
June 25, 2013 - Version 6.0.0
November 8, 2012 - Version 5.9.0
February 7, 2012 - Version 5.8.0
May 31, 2011 - Version 5.7.0
April 14, 2011 - Version 5.6.0
January 26, 2011 - Version 5.5.0
November 17, 2010 - Version 5.2.0
September 16, 2010 - Version 5.1.0
April 12, 2010 - Version 5.0.1
March 27, 2009 - Version 4.5.0
April 11, 2008 – Version 4.0.3
February 7, 2008 – Version 4.0
February 20, 2007 – Version 3.6
August 11, 2006 - Version 3.5
June 1, 2006 - Version 3.2
February 1, 2006 - Version 3.1
November 22, 2005 - Version 3.0
July 21, 2005
May 20, 2005
April 8, 2005
December 22, 2004
September 24, 2004
September 13, 2004
September 7, 2004
August 24, 2004