Foxit PDF SDK Changelog

Web

July 2, 2024

Major Changes:

  • Dramatically improved bookmark loading time efficiency by refactoring the bookmark module.
  • Completely remove support for ASM.JS engine and no longer support for older Safari version below 11.

Enhancements:

  • Switched WASM library loading approach from static to dynamic. The dynamically loaded libraries consist of a main module and several side modules. Only the main module is loaded into memory initially. Side modules are loaded only when needed.
  • Enhanced Stamp’s APIs ‘addAnnotationIcon()’ and ‘setDynamicStamp()’, and UI to accept special characters: hyphen (dash), colon, semicolon, slash, and space.
  • Improved the Edit Text and Add Text tool of Advanced Editor to support the global undo/redo functionality and custom fonts.

New Features:

  • Introduced Dynamic XFA form-fill functionality.
  • Enabled PDF Basic 3D model rendering and viewing support.
  • Enabled creating multiple signatures by sharing /v dictionary.
  • Enabled the z-order change for stacking annotations through newly added API ‘PDFPage::changeAnnotOrder()’ and UI options.
  • Added an event ‘activeMultipleAnnotations’ for selecting multiple annotations or form widgets.
  • Added ‘Annot::setCustomAPStream()’ to set the appearance streams of an annotation object.
  • Added a constructor parameter [options.customs.syncTextScaling=false] in PDFViewer to enable TextBox and Callout to scale with container resizing.
  • Added an event ‘FormFieldImported’ to emit a notification once the data importing has been completed.
  • Added ‘setFileSpec()’ and ’getFileSpec()’ to enable programmatically setting launch action.
  • Added ‘PDFViewer::registerMultimediaPlayers()’to enable embedding custom players to play the target format media files.
  • Added APIs to enable programmatically adding and removing layers within a PDF.
    Relevant APIs:
    addLayerNode
    removeLayerNode
    addLayerGraphicObject
    removeLayerGraphicObject

API Changes:

  • Updated ‘PDFDoc.sign()’ with two enhancements: a new parameter ‘signInfo.shareVDictType’ for adding signatures with a single /V dictionary, and support for array objects in ‘signInfo.pageIndex’ and ‘signInfo.rect’ parameters.
  • Updated the’PDFDoc.exportFormToFile()’ to allow for importing/exporting form data from/to a JSON file.
  • Updated the ‘setStateHandlerConfig()’ with a new option ‘enableAnnotationSelectionTool‘ to toggle on or off the annotation selection.

Bug Fixes:

  • [Demo] Updated the overlay-comparison third-party dependency to address security issues.
  • Fixed a console error that occurred when quickly paging to the last page using thumbnails in specific documents.
  • Fixed an issue where the attached file inside a PDF could not be downloaded.
  • Fixed an issue where users couldn’t copy and paste text within the AddText tool using the right-click menu.
  • Fixed an issue where enabling or disabling the comment-list-sidebar-panel component through Fragments was not effective.
  • Fixed a console error when loading the SDK after hiding PDFUI DOM nodes.
  • Fixed an issue where calling the pdfDoc.rotatePages() API resulted in incorrect page rotations.
  • Fixed an issue where TextMarkup::getText() did not retrieve the correct text.
  • Fixed an issue where adding a shape object with fill color to one page of the document resulted in blank pages when scrolling.
  • Fixed an issue with PDFDoc::exportFormToFile (fileType = csv/txt) where the format was incorrect.
  • Fixed an issue where a cross-origin iframe was unable to properly interact with the FoxitPDFSDKForWeb library.
  • Fixed an issue related to the display of custom fonts.
  • Fixed an issue where black ink annotations with the hex color value #000000 were not rendering correctly in documents.
  • Fixed an issue where annotations without an AP stream were not drawing borders correctly.
  • Fixed an issue where adjusting the size of the callout annotation caused the callout’s container to collapse.
  • Fixed an issue where dragging a stamp annotation across pages caused DataEvents.annotationPositionMoved to return incorrect data.
  • Fixed an issue where appending text to the Note comment was not allowed.
  • Fixed an issue where the Note annotation could not be locked.
  • Fixed an issue where setting the border of a Link annotation to 0 was ineffective.
  • Fixed a permission issue where when the comment content is empty, content could not be added.
  • Fixed permission issues where the Image, Video & Audio, and Link annotations could not be edited in PDFs with annotation modification permissions.
  • Fixed an issue where adding a Textbox and keeping the cursor inside the box, then scrolling past pages, would cause the content to be cleared.
  • Fixed an issue where tapAnnotation could not be triggered on mobile devices.
  • Fixed an issue where setting custom fonts with rich text format for free text annotations was not working.

Windows/Mac/Linux

March 20, 2024

Features:
  • Support Displaying OFD Files: Added header files ‘fs_ofddoc.h, fs_ofdpage.h and fs_ofdrenderer.h’ for for handling OFD documents, pages, and rendering operations. And added ‘InitializeOFDEngine’ and ‘ReleaseOFDEngine’ in ‘common::Library’ class.
  • Support Conversion between PDF and OFD: Introduced ‘addon::conversion::Convert::ToOFD’ and ‘addon::conversion::Convert::FromOFD’ functions, along with ‘conversion::OFDConvertParam’ class for setting conversion parameters.
  • Support DWG2PDF: Added ‘addon::conversion::Convert::FromDWG’ function for generating PDF from DWG files, along with ‘conversion::DWG2PDFSettingData’ class.
  • Introducing 3D Rendering on Windows: Added header file ‘fs_pdf3d.h’ rendering 3D PDF documents.
  • Support Paragraph Editing: Added header file ‘fs_paragraphediting.h’ to perform advanced operations such as joining and splitting paragraphs, managing paragraph editing tasks, and providing callbacks for paragraph editing operations.
  • Incremental Redaction: Introduced ‘Redaction::StartApply’ for incremental redaction and progress monitoring.
  • Separating Grayscale and Color Images settings: Deprecated ‘addon::optimization::OptimizerSettings::SetColorGrayImageSettings’, added ‘SetColorImageSettings’ and ‘SetGrayscaleImageSettings’ for separate image compression settings.
  • Multiprocessing Support for Linux OCR Addon: Added multipprocessing support for Linux OCR addon.
  • Multithreading Support for Compliance Addon: Implemented multithreading support for Compliance addon with new functions.
  • Support for Generating Headers and Footers: Updated ‘conversion::pdf2office::PDF2WordSettingData’ with ‘enable_generate_headers_and_footers’ parameter for header/footer generation.
  • Support for Generating Footnotes and Endnotes: Updated ‘conversion::pdf2office::PDF2WordSettingData’ with ‘enable_generate footnotes_and endnotes’ parameter.
  • Support Cloning Page Objects: Added ‘GraphicsObject::Clone()’ to enable object cloning between PDF pages and documents.
  • Support for Splitting Document: Added header file ‘fs_splitpdfdoc.h’  for document splitting.
  • Support for Form State and Fill Color Changes Notification: Added new enum types to ‘JSFieldValueChangeType’, ‘e_JSFieldValueChangedBySetReadOnly’ and ‘e_JSFieldValueChangedByFillColor’,  for notifying form state and fill color changes.
  • Provide Node.js Library on Windows and Linux: Introduced Node.js library with JavaScript API.
  • Support for AnyCPU: Added AnyCPU platform target support for the Dotnet/DotnetCore.
Enhancements:

  • Enhanced Paging Seal Signature: Updated ‘PagingSealConfig::PagingSealConfig’ with ‘is_display_multiple_seal’ and ‘page_count_for_each_seal’ for setting page range for each seal.
  • Enhanced TableGenerator Functionality: Added ‘addon::tablegenerator::TableGeneratorCallback’ with ‘Release’ and ‘GetTableTopMarginToPage’ functions for page margin setup, and updated ‘addon::tablegenerator::TableCellData’ with ‘cell_fill_color’ attribute for cell background modification.
  • Enhanced OCR Engine: Added ‘libippccm7.so‘ to OCR Bin folder for Linux CentOS 8 compatibility and error resolution.
  • Enhanced Recognition of Text Blocks in PowerPoint: Improved accuracy of recognizing text blocks in PowerPoint slides.
  • Enhanced AddText Functionality: Updated ‘AddText’ function’s RichTextStyle with ‘char_space’ and ‘word_space’ properties for adjusting character and word spacing, and updated ‘rotation’ parameter to accept integer values and added ‘disable_embed_font’ parameter for font embedding control during text insertion.
  • Enhanced XFA Form Support: Updated ‘XFAWidget’ class with new APIs, IsReadOnly and IsRequired for checking values for any fields,  IsAllowRichText for rich text format checking,  and SetOptions for setting the selection of items in a choice list or radio button in the exclusion group.
  • Optimized Rendering efficiency: Time for rendering pages with repeated paths reduced significantly, resulting in roughly threefold efficiency improvement.
  • Optimized Page Parsing Efficiency: Enhanced page parsing efficiency by nearly 16% through optimization, particularly for pages with numerous Path objects.
Bug Fixes:

Crash Issues:

  • SDKRD-13009 Resolved crashes in Java SDK on Linux with native memory errors.
  • SDKRD-13413 Fixed crash issue caused by calling ImportFromFDF function.
  • SDKRD-13365 Fixed crash issue when using Linux Java SDK to convert specific files to PDF images.

Form Issues:

  • SDKRD-12785 Fixed multiplication calculation error in form fields.
  • SDKRD-12598 Fixed issue of missing signatures after flattening dynamic XFA forms.
  • SDKRD-13020 Fixed issue where PDFReader demo did not perform form validation for invalid data input.
  • SDKRD-13408 Fixed issue where text line spacing of associated form fields changed after specific form field value changes.

OCR Issues:

  • SDKRD-12897 Fixed abnormal executing of OCR on Linux CentOS 8.
  • SDKRD-13045 Rectified loss of text background color issue after OCR of specific PDF documents using Linux DotNetCore SDK.
  • SDKRD-13255  Resolved issue where specific pages were rotated 90° after OCR of certain documents.
  • SDKRD-13357 Fixed problem where table border path objects were converted into images after OCR.

Image Processing Issues:

  • Fixed issue of extra black lines appearing at the bitmap edge after inserting monochrome bitmap watermark using SDK.
  • Fixed problem causing partial image loss when using setMatrix to move or resize images.
  • Fixed mosaic issue in converted images after using pdf2image for specific PDF documents.

Other Issues:

  • Fixed initialization error in Java SDK on Linux ARM.
  • Addressed low page release efficiency issue after calling getLayers in documents containing numerous path objects.
  • Fixed issue where ‘TextPage.GetTextInRect’ method in DotnetCore SDK interpreted character ‘⁻’ as ‘?’.
  • Fixed incorrect result returned by PDFDoc::isLinearized function after loading linearized documents.
  • Fixed issue where text was not displayed when rendering in DIB_CMYK format with SetRenderTextAntiAliasing(false).

PDF Conversion SDK 2.0

March 20, 2024

New Features:

  • Office to PDF Conversion (Beta): Introduced a new feature for converting Office documents (Word, Excel, PowerPoint) to PDF format on Windows. This feature is currently in beta and may be subject to further refinement.
  • Office to PDF Web Demo: A web-based demo is now available for trying out the Office to PDF conversion functionality.
  • AnyCPU Support: Added AnyCPU configuration support for the Dotnet/DotnetCore platform. This allows the software to run on a wider range of system architectures.
Improvements:

  • PDF to Word Conversion:
    • Footnotes and Endnotes: Added support for generating footnotes and endnotes in converted Word documents. This new functionality is controlled by the enable_generate_footnotes_and_endnotes parameter in the conversion::pdf2office::PDF2WordSettingData class.
    • Headers and Footers: Added support for generating headers and footers in converted Word documents. This new functionality is controlled by the enable_generate_headers_and_footers parameter in the conversion::pdf2office::PDF2WordSettingData class.
  • PDF to PowerPoint Conversion: Improved the accuracy of recognizing text blocks in PowerPoint slides during the conversion process.
  • PDF to Excel Conversion: Added a new class, PDF2ExcelSettingData, which provides methods for retrieving and configuring decimal symbols and thousands separators for better control over the formatting of numerical data in the converted Excel spreadsheets.
Bug Fixes

Performance and Crashing Issues:

  • Fixed the issue where conversion may fail or slow down due to high memory usage.
  • Fixed the crash issue that occurred when converting to specific pages containing borderless tables in PDF to PPT.

Text Conversion Issues:

  • Fixed various text conversion anomalies after converting PDF to office formats, including inconsistent fonts, text converted to images, missing text, text position offset, and text overlap.
  • Fixed the issue where underline recognition was incorrect after converting PDF to Word, and extra spaces and line breaks were added between some text contents.
  • Fixed the issue where some text content was misidentified as a table after converting PDF to PPT.

Format Conversion Issues:

  • Fixed the issue where multiple lines of text content were placed in the same cell after converting PDF to Excel.
  • Fixed the issue where page numbers were inconsistent or one page was split into multiple pages after converting PDF to Word.

Updated on July 3, 2024