Foxit Conversion SDK v3.1.0
Release date: March 31, 2026
Breaking changes
PDF2WordSettingData — parameter and default changes
The parameterized constructor and Set() add a required parameter max_blank_paragraphs_per_page_bottom:
cpp
// v3.0 (4 parameters)
PDF2WordSettingData(bool enable_retain_page_layout,
bool enable_generate_headers_and_footers,
bool enable_generate_footnotes_and_endnotes,
bool enable_generate_page_rendered_break);
// v3.1 (5 parameters)
PDF2WordSettingData(bool enable_retain_page_layout,
bool enable_generate_headers_and_footers,
bool enable_generate_footnotes_and_endnotes,
bool enable_generate_page_rendered_break,
int max_blank_paragraphs_per_page_bottom); // newAction required: Add the new parameter when using the parameterized constructor or Set(). Pass -1 for no limit (same as before). The default constructor plus field assignment is unchanged.
Default change — enable_generate_headers_and_footers changes from false to true. Code using the default constructor will generate headers and footers by default. Set enable_generate_headers_and_footers = false explicitly to keep v3.0 behavior.
PDF2PowerPointSettingData — parameter change
The parameterized constructor and Set() add a required parameter enable_adapt_to_largest_page:
cpp
// v3.0 (1 parameter)
PDF2PowerPointSettingData(bool enable_aggressively_split_sections);
// v3.1 (2 parameters)
PDF2PowerPointSettingData(bool enable_aggressively_split_sections,
bool enable_adapt_to_largest_page); // newAction required: Add the new parameter; pass false to keep v3.0 behavior.
PDF2ExcelSettingData — parameter change
The parameterized constructor and Set() add 2 required parameters:
cpp
// v3.0 (3 parameters)
PDF2ExcelSettingData(String decimal_symbol, String thousands_separator,
WorkbookSettings workbook_settings);
// v3.1 (5 parameters)
PDF2ExcelSettingData(String decimal_symbol, String thousands_separator,
WorkbookSettings workbook_settings,
bool enable_aggressive_table_repair, // new
bool include_watermarks); // newAction required: Add the two new parameters; pass true, false to keep v3.0 behavior.
PDF2OfficeSettingData — parameter change
The parameterized constructor and Set() add a required parameter enable_matching_system_fonts:
cpp
// v3.0 (9 parameters)
PDF2OfficeSettingData(const wchar_t* metrics_data_folder_path,
bool enable_ml_recognition, const Range& page_range,
bool include_pdf_comments,
const PDF2WordSettingData& word_setting_data,
const PDF2PowerPointSettingData& power_point_setting_data,
const PDF2ExcelSettingData& excel_setting_data,
bool enable_trailing_space, bool include_images);
// v3.1 (10 parameters)
PDF2OfficeSettingData(/* same 9 parameters as above */,
bool enable_matching_system_fonts); // newAction required: Add the new parameter; pass false to keep v3.0 behavior.
PDF to Word default behavior change
PDF to Word now preserves in-document jump links by default. If downstream workflows expect Word output without links, verify results after upgrading.
New features and enhancements
PDF to Office
- New
enable_matching_system_fontsonPDF2OfficeSettingDatafor precise system font matching in PDF to Word - New
enable_adapt_to_largest_pageonPDF2PowerPointSettingDatato scale smaller pages in mixed-size PDFs to the largest slide size - New
enable_aggressive_table_repairandinclude_watermarksonPDF2ExcelSettingDatafor stronger table repair and watermark retention in Excel output - PDF to Word: preserve in-document jump links (TOC, cross-references) by default
- PDF to Word: better performance and lower memory use on complex documents
- PDF to Word: improved heading recognition and Word heading style mapping
- PDF to Word: improved paragraph recognition, page breaks, and cross-page table continuity
Office to PDF
- Linux support for
Office2PDFSettingData::is_embed_font Office2PDF::ConvertFromWordsupports DOC (Word 97–2003)- New
e_ErrNotMatchFonterror code when fonts are missing in Office to PDF
Platform
- Linux ARM64 .NET Core support
- Chinese developer API documentation
Bug fixes
PDF to Word
- Fixed crash converting certain PDFs to Word on Linux .NET
- Fixed cases with no output file and no clear error for certain documents
- Fixed exception (
0x77574080 ntdll.dll) in some MFC projects in Debug x86 PDF to Word - [Linux] Fixed SimSun rendered as bold/heiti incorrectly in Word output
- Improved font selection to avoid Segoe UI Light for better WPS Office compatibility
- Fixed lost font styles (e.g. bold) in Word output
- Fixed incorrect font sizes causing layout issues
- Fixed extra spaces between characters within paragraphs
- Fixed overlapping characters in headings
- Improved layout stability for translation backfill when longer text breaks later pages
- Fixed crop marks at page corners affecting third-party translation tools
- Fixed TOC alignment issues in Word output
- Fixed layout misalignment in certain files
- Fixed headers/footers converted as body text instead of Word header/footer regions
- Fixed extra line breaks at line ends breaking layout during translation backfill
- Fixed content loss for Arabic PDF to Word
- Improved quality on large documents: fewer layout issues, smaller output, fewer extra pages
- Improved rendering consistency between Microsoft Office and WPS Office
- Fixed faded text, bad tables, content loss, and overlapping text in certain files
- Fixed missing or broken TOC and unrecognized headings
- Fixed
enable_generate_headers_and_footers = truenot taking effect inPDF2WordSettingData
PDF to Excel
- Fixed cell text placed in drawing shapes instead of editable cells
- Fixed very long conversion with incorrect table structure and image-only cells
- Fixed content loss when converting built-in test documents to Excel
Word to PDF
- Fixed crash in
Office2PDF::ConvertFromWordfor certain DOCX files - Fixed memory spike to 4 GB and hang on certain Word files
- Fixed missing content in certain table regions
- Improved character spacing and paragraph layout on Windows
- Fixed
is_embed_font = truenot taking effect inOffice2PDFSettingDataon Windows - [Linux] Fixed blank Word to PDF output on Red Hat without Calibri
- Fixed incorrect line breaks vs. original Word due to character spacing
- Fixed overly bold text in output PDF
- Fixed missing last sentence in output PDF for certain documents
- Fixed shape rendering and text wrapping issues