Skip to content

Foxit PDF SDK (Desktop/Server) 10.1.0

Release date: December 16, 2024

New features and improvements

PDF3D

  • Support for getting and applying preset 3D views
  • Support for resetting the default view.
    New APIs:
    • GetPresetViewList()
    • ApplyPresetView()
    • ResetDefaultView()

Compliance

  • Preflight support and PDF/E and PDF/X standards.
    New classes:
    • Preflight
    • PDFXCompliance
    • PDFECompliance

Page analysis

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

OCR

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

Annotations

  • Support executing multiple JavaScript sub-actions.

  • Support separate opacity for border and fill color.

  • Support retrieving annotations by unique ID. Updated API:

    • ExecuteJavaScriptAction(JavaScriptAction)

    New APIs:

    • SetBorderOpacity(), GetBorderOpacity()
    • SetFillOpacity(), GetFillOpacity()
    • GetAnnotsByIdArray()

Images

  • Get image orientation.
  • Create image objects from Type3 text objects.
  • Clone 1 bpp bitmaps in page image objects.
    New APIs:
    • GetOrientation()
    • ImageObject::CreateFromType3TextObject()
    • ImageObject::CloneBitmap (PDFPage,Graphics_Objects)

Fonts

  • Match fonts by font family name.
    New API:
    • FontMapperCallback::MapFont()

Rendering

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

Search

  • Regular expression text search.
    Updated API:
    • TextSearch::SetPattern(key_words,is_regex_search)

Text

  • Calculate the PDF Rect size required for a RichTextStyle string before adding text.

  • RichTextStyle supports negative char_space and word_space.
    New API:

    • PDFPage::CalculateNewRectForText()

    Updated API:

    • Page::AddText RichTextStyle

Watermarks

  • Tiled watermark print and display settings.
    Updated API:
    • TiledWatermarkSettings(flags)

Print Manager

  • Set print margins.
    New APIs:
    • SetJobPrintUnitType(), GetJobPrintUnitType()
    • SetJobLeftMargin(), GetJobLeftMargin()
    • SetJobRightMargin(), GetJobRightMargin()
    • SetJobTopMargin(), GetJobTopMargin()
    • SetJobBottomMargin, GetJobBottomMargin()

DWG2PDF

  • Monitor conversion progress and control progress log output.

  • New color conversion policy.
    New class:

    • DWG2PDFProgressCallback

    Updated APIs:

    • DWG2PDFSettingData::is_output_progress
    • DWG2PDFSettingData::progress_callback
    • DWG2PDFSettingData::color_policy

Libre Office2pdf

  • Multithreaded conversion on Linux via binary engine.
    Updated API:
    • Convert::From[Word][Excel][PowerPoint](...fx_binary_engine_path, LibreOffice_User_Profile/)

Foxit PDF2Office

  • Initialize the library via binary program for more flexible conversion.

  • New conversion options such as page breaks, trailing space removal, image output, and conversion timeout.

  • Convert permission-protected PDF files.
    Updated APIs:

    • PDF2Office::Initialize(library_path,fx_binary_program_path)
    • PDF2WordSettingData(...enable_generate_page_rendered_break)
    • PDF2OfficeSettingData (...enable_trailing_space,include_images,)
    • PDF2OfficeSettingData (..timeout)

    New class and API:

    • ConvertCheckCallback
    • SetConvertCheckCallback(convert_check_callback)

Foxit Office2PDF

  • Foxit Office2PDF is officially integrated as a component in Foxit PDF SDK.

  • Outline conversion support for Word2PDF.

  • New workbook conversion options in Excel2PDF.

    New classes:

    • Word2PDFConfig
    • Excel2PDFConfig

API performance

  • Significantly optimized Optimizer efficiency for documents with many path objects.
  • Significantly improved efficiency of StartImportPagesFromFilePath() when importing files containing forms.

Deprecated features

  • Deprecated ImageObject::CloneBitmap (Graphics_Objects).

Bug fixes

Tables

  • Fixed incorrect cell merging when calling AddTableToPage().
  • Fixed fill color not covering entire cells when inserting tables via insertTablePagesToDocument.

Page operations and import

  • Fixed scrambled page content when splitting pages with StartImportPages().
  • Fixed ImportFromXML() import failure due to incorrect XML format detection.
  • Fixed residual AcroForm automation data after RemovePage() deletes AcroForm pages.
  • Fixed failure when inserting new PDF pages due to inconsistent CropBox handling.

Text

  • Fixed errors when extracting Chinese text with GetPageText().
  • Fixed incorrect PDF text order from GetPageText() by optimizing the extraction algorithm.
  • Fixed incorrect Arabic display when adding Arabic with AddText().
  • Fixed incorrect RTL display order when setting Arabic text with SetText.

Forms

  • Fixed PDFPage::Flatten() unable to flatten static XFA form field data.
  • Fixed dynamic XFA forms not retaining control state correctly after flattening to PDF.
  • Fixed dynamic XFA documents failing to load after certain callback events.
  • Fixed incorrect form field calculation results due to insufficient integer precision.

Search

  • Fixed incorrect search results due to wrong keyword order calculation.
  • Fixed exceptions when calling ReplaceNext().

Rendering and display

  • Fixed incorrect dashed lines in output preview by handling fill and stroke colors correctly.
  • Fixed output preview display issues when annotation rendering is separated from page rendering.
  • Fixed background images with soft masks and pattern-filled paths by optimizing rendering.
  • Fixed mirrored images when inserting with AddImage() due to missing rotation handling.
  • Fixed graphics objects becoming invisible after SetMatrix() because clip paths were ignored.

Crashes

  • Fixed crash when opening PDF files containing 3D elements.
  • Fixed crash when batch converting PDF to PostScript with the Renderer class.
  • Fixed crash when creating a new PDFDoc during concurrent access on Linux.

Annotations and watermarks

  • Fixed inability to get annotation actions when PDF annotations lack destination (Dest) information.
  • Fixed watermarks not written to extracted pages after StartExtractPages().

Printing

  • [Demo] Fixed out-of-memory in pdfprint demo when printing PDFs with soft-mask backgrounds.
  • [PrintManager] Fixed GetJobStatus() showing "Unknown" in sample print flows.
  • [PrintManager] Fixed print jobs waiting or not completing when the printer did not call GetJob() correctly.

Optimization and performance

  • Fixed data loss during optimized save due to improper font stream handling.
  • Fixed garbled DWG to PDF conversion by supplementing missing font resources.
  • Fixed inconsistent TIFF image colors when CMYK was forced to RGB.
  • Fixed lost content after TIFF to PDF by adjusting TIFF data writing.
  • Fixed lost and abnormal signature verification data after LTVVerifier::Verify() by improving handling logic.
  • Fixed table recognition accuracy regression by optimizing the layout recognition engine.