Foxit PDF SDK Changelog

Windows/Mac/Linux

December 19, 2024

New Features and Enhancements:

PDF3D

  • Support for retrieve and preset 3D views.
  • Support for default view reset.
    New APIs:
    • GetPresetViewList()
    • ApplyPresetView()
    • ResetDefaultView()

Compliance

  • Introduced preflight functionality supporting PDF/E and PDF/X standards.
    New Classes:
    • Preflight
    • PDFXCompliance
    • PDFECompliance

Page Analyzer

  • Detect scanned pages.
    New API:
    • PDFPage::IsScanned()

OCR

  • Enhanced OCR configuration options, including image-based text extraction mode, skew correction, image denoising, and CPU core usage mode.
    New Class:
    • foxit::addon::ocr::OCRConfig
      Updated API:
    • Initialize(...is_shared_cpu_cores_mode)

Annotation

  • Support for executing JavaScript-based sub-actions in link annotations.
  • Added separate transparency settings for border and fill colors.
  • Added the ability to retrieve annotations by unique IDs.
    Updated API:
    • ExecuteJavaScriptAction(JavaScriptAction)
    New APIs:
    • SetBorderOpacity()GetBorderOpacity()
    • SetFillOpacity()GetFillOpacity()
    • GetAnnotsByIdArray()

Images

  • Retrieve image orientation.
  • Image object creation from Type3 text object.
  • Clone 1bpp bitmap from the page image object.
    New API:
    • GetOrientation()
    • ImageObject::CreateFromType3TextObject()
    • ImageObject::CloneBitmap (PDFPage,Graphics_Objects)

Fonts

  • Improved font mapping with an overloaded callback for font family names
    New API:
    • FontMapperCallback::MapFont()

Rendering

  • Render PDF to PDF print devices on Linux.
  • Support for rendering PDF pages to 1bpp bitmap.
    New API:
    • Renderer(PrintDeviceSettingData& print_param,dest_pdf_path)

Search

  • TextSearch supports regular expressions.
    Updated API:
    • TextSearch::SetPattern(key_words,is_regex_search)

Text

  • Calculate the required PDF Rect size for strings in RichTextStyle before adding text.
  • RichTextCtyle allows negative values for char_stpace and word_stpace in.
    New API:
    • PDFPage::CalculateNewRectForText()
    Updated API:
    • Page::AddText RichTextStyle

Watermark

  • Added tiled watermark behavior flags, including printing/display settings.
    Updated API:
    • TiledWatermarkSettings(flags)

PrintManager

  • Enhanced margin handling for print jobs.
    New APIs:
    • SetJobPrintUnitType()GetJobPrintUnitType()
    • SetJobLeftMargin()GetJobLeftMargin()
    • SetJobRightMargin()GetJobRightMargin()
    • SetJobTopMargin()GetJobTopMargin()
    • SetJobBottomMarginGetJobBottomMargin()

DWG2PDF

  • Track conversion progress and control output logs.
  • Support for color conversion policies.
    New Class:
    • DWG2PDFProgressCallback
      Updated API:
    • DWG2PDFSettingData::is_output_progress
    • DWG2PDFSettingData::progress_callback
    • DWG2PDFSettingData::color_policy

Libre Office2pdf

  • Support for multi-threaded conversion via binary engine on Linux.
    Updated APIs:
    • Convert::From[Word][Excel][PowerPoint](...fx_binary_engine_path, LibreOffice_User_Profile)

Foxit PDF2Office

  • Support for library initialization using a binary program for improved conversion flexibility.
  • Introduced more conversion options such as insert page breaks, remove trailing spaces, and output images.
  • Support for restricted PDF files conversion.
    Updated APIs:
    • PDF2Office::Initialize(library_path,fx_binary_program_path)
    • PDF2WordSettingData(...enable_generate_page_rendered_break)
    • PDF2OfficeSettingData (...enable_trailing_space,include_images,)
    New Class and API:
    • ConvertCheckCallback
    • SetConvertCheckCallback(convert_check_callback)

Foxit Office2PDF

  • Officially integrated Foxit Office2PDF as an add-on.
  • Support for outline conversion in Word2PDF.
  • Introduced wordbook conversion options in Excel2PDF.
  • New Class:
    • Word2PDFConfig
    • Excel2PDFConfi

API Performance Improvements

  • Significantly improved the Optimizer’s performance for documents with a large number of paths.
  • Greatly enhanced the efficiency of importing files with AcroForms using StartImportPagesFromFilePath.

Deprecated Features

  • Deprecated ImageObject::CloneBitmap (Graphics_Objects) API.

Bug Fixes

Table-related

  • Fixed an issue where merging cells with AddTableToPage() caused errors.
  • Resolved a problem where the fill color did not cover the entire cell when inserting tables using insertTablePagesToDocument.

Page Operations and Importing

  • Fixed an issue where splitting pages with StartImportPages() resulted in scrambled content.
  • Resolved a data import failure caused by incorrect XML file format detection when using ImportFromXML().
  • Fixed a bug where form data remained after removing AcroForm pages with RemovePage().
  • Addressed an issue where inserting new PDF pages failed due to inconsistent handling of CropBox.

Text Processing

  • Fixed an issue where extracting text with Chinese characters using GetPageText() resulted in errors.
  • Resolved text extraction order issues with GetPageText() by optimizing the text extraction algorithm.
  • Fixed display errors when adding Arabic text using AddText().
  • Corrected the RTL display order issue when setting Arabic text with SetText().

Form Handling

  • Fixed an issue where PDFPage::Flatten() failed to flatten static XFA form field data.
  • Resolved an issue where dynamic XFA form fields did not retain their state correctly when flattened to PDF.
  • Fixed a problem where dynamic XFA documents could not be loaded after triggering certain callback events.
  • Addressed an issue where insufficient integer precision led to incorrect form field calculations.

Search Functionality

  • Fixed an issue where incorrect search results were returned due to the wrong calculation of search keyword order.
  • Resolved an exception issue when calling ReplaceNext().

Rendering and Display

  • Fixed an issue where dashed lines were displayed incorrectly in prepress previews by properly handling fill and stroke colors.
  • Resolved prepress preview anomalies caused by separating annotation and page rendering.
  • Optimized rendering to fix display issues with background images in paths with soft mask pattern fills.
  • Fixed an issue where images inserted via AddImage() were mirrored due to missing rotation handling.
  • Corrected the problem where graphics object became invisible after calling SetMatrix() due to ignored clipping paths.

Crash Fixes

  • Fixed a crash when opening PDF files containing 3D elements.
  • Resolved a crash caused by batch conversion of PDF to PostScript using the Renderer class.
  • Fixed a crash on Linux when creating new PDFDoc objects due to concurrent access.

Annotations and Watermarks

  • Fixed an issue where annotations in PDF files with missing destination (Dest) information could not retrieve annotation actions correctly.
  • Fixed a problem where watermarks were not written to extracted pages after calling StartExtractPages().

Printing-related

  • [Demo] Fixed an issue in the pdfprint demo where printing PDFs with soft masks in the background caused memory issues.
  • [PrintManager] Corrected the “Unknown” status display when using the demo print function by adjusting GetJobStatus().
  • [PrintManager] Fixed an issue where print tasks were waiting or unable to complete due to the printer failing to call the GetJob() function.

Optimizer and Performance

  • Fixed data loss during optimization due to incorrect font stream handling.
  • Resolved garbled text issues during DWG to PDF conversion by supplementing missing font resources, to esnure font integrity.
  • Adjusted CMYK image handling to fix color inconsistencies caused by forced conversion to RGB in TIFF images.
  • Resolved content loss during TIFF to PDF conversion by improving TIFF data writing.
  • Fixed data loss and exceptions in the verification results by improving the LTVVerifier::Verify() logic.
  • Fixed table recognition error by enhancing the layout recognition engine.

PDF Conversion SDK 2.1

December 19, 2024

PDF2Office

New Features

  • Library Initialization: Added support for initializing the conversion library using a binary program, offering improved flexibility in PDF-to-Office conversions.
  • Additional Conversion Options:
    • Ability to remove trailing spaces from the output and include images during conversion.
    • New option for PDF2Word to control the insertion of page breaks during conversion.
    • Added settings for Excel wordbooks in PDF2Excel.
  • Restricted PDF File Support: Now supports conversion of restricted PDF files
  • Updated APIs:
    • PDF2Office::Initialize(library_path, fx_binary_program_path)
    • PDF2WordSettingData(...enable_generate_page_rendered_break)
    • PDF2ExcelSettingData(...wordbook_settings)
    • PDF2OfficeSettingData(...enable_trailing_space, include_images)
    New Classes & APIs:
    • ConvertCheckCallback
    • SetConvertCheckCallback(convert_check_callback)

Enhancements

  • PDF2Word: Enhanced table, formula and highlighted text recognition accuracy.
  • PDF2Excel: Improved cell border and background recognition fidelity.
  • PDF2PPT: Enhanced content integrity preservation for converted text and paths.
  • Optimization: Improved processing efficiency for files with complex path structures.
  • Stability: Enhanced overall program stability to prevent memory leaks.

Office2PDF

New Features

  • Word to PDF Conversion: Added support for outline conversion in Word2PDF.
  • Excel to PDF Conversion: Introduced wordbook conversion options in Excel2PDF.
  • New Class:
    • Word2PDFConfig
    • Excel2PDFConfig

Enhancements

  • Complex Layout Support: Supports a wide range of complex layouts, including vertical text.
  • Complex Elements Support: Accurately preserves gradients, multi-column alignment, and 3D elements.
  • Memory Optimization: Optimizes large file conversion for improved stability and efficiency.

Updated on December 19, 2024