Version 11.1
Foxit PDF SDK Changelog v11.1
Foxit PDF SDK Changelog v11.1
Web
April 21, 2026
Overview
This release delivers 17 enhancements across bookmarks, text extraction, annotations, forms, signatures, 3D and measurement, and host integration. It also includes 60 customer-reported bug fixes. If you upgrade from 11.0, review Bookmarks under Major Changes first.
Major Changes
Bookmarks — async destinations (breaking)
What changed
On
BookmarkData,page,left,top,zoomMode, andzoomFactorare deprecated as of 11.1.0. The initial bookmark tree no longer embeds full destination payloads for performance on large and linearized / range-loaded PDFs.
What to use instead
BookmarkDataService.getBookmarkDestination(bookmarkId)— async destination data (coordinates, zoom, and related fields) for thumbnails, overlays, or custom scroll logic.BookmarkDataService.performAction(bookmarkId)— executes the bookmark’s PDF action chain (GoTo, URI, JavaScript, and so on), matching the built-in bookmark panel. You do not need to callgetBookmarkDestinationbeforeperformActionfor standard navigation.Prefer page object number when linking bookmarks to document pages instead of relying only on a volatile
pageIndex.
New Features and Enhancements
Page text and Advanced Edit
PDFPage:getText,getCharCount,getCharInfoByIndex, andgetCharRangesupport character-index workflows (for example proofreading, anchors for comments, and automation alongside search APIs).PDFPage.addRichText: programmatic rich text on the page (requires AdvEdit license).
Annotations and forms
PDFViewer.setMultipleSelectionEnabled/isMultipleSelectionEnabled— enable or disable marquee (rectangular drag) selection, Ctrl/Shift-click multi-select, and Ctrl+A / Cmd+A select-all for annotations and form fields.PDFPage.setAnnotGroupandMarkupAnnot.ungroup— group or ungroup markups without creating new PDF objects; stableobjNumber/name. Listen forAnnotUpdatedType.groupUpdatedinannotationUpdatedfor group-related UI state.enableRealtimeAnnotShapeUpdate(on/off) — optional realtime refresh of markup shape while dragging or resizing. Set it viaPDFViewerconstructor options and/orpdfViewer.config.enableRealtimeAnnotShapeUpdateat runtime.AnnotComponentConfig.enableDiagonally— diagonal resize handles for Callout when used with annot component configuration callbacks.FreeText — editing behavior closer to Foxit PDF Editor (desktop) for mixed scripts and layout.
Form push button — Select Icon modal: browse, preview, and clear the button image (JPEG, PNG, GIF, BMP).
Signatures and stamps
Quick Sign (under Protect) — on-page PSI strokes with pressure-style rendering, alongside classic PDF Sign dialog drawing.
Signature UI — clear signature from context menu; Sign & Certify with place signature;
PDFDoc.signextended withisKeepRatioandcustombitmap overlay for appearance.Custom dynamic stamps — multi-label configuration in the UI and via
CustomDynamicStamp/setDynamicStamp(fieldas object or array).
3D and measurement
3D PDF — sidebar model tree (parts visibility control) and view list with preset cameras for design-review style navigation.
CreateMeasurementService(frompdfViewer.getCreateMeasurementService()) — programmatic control of measurement creation (for example markup-on-create, label, results panel visibility, snap modes, scale). Replace ad hoc DOM coupling.
Viewer integration
PDFViewerconstructor —customs.containerRoot(HTMLElement) to scope styles when embedding without an iframe (works with Shadow DOM patterns).Stable
component-nameattributes – on annotation menus and related components for predictablegetComponentByNamecustomization.
Performance Optimizations
Bookmarks — async
getBookmarkDestinationand a slimmer initial tree reduce up-front work and improve bookmark panel responsiveness on large linearized documents andopenPDFByHttpRangeRequestloads.Rendering – by significantly optimizing the rendering pipeline, the zoom interaction speeds have been boosted by up to 39%, and annotation & form page navigation are up to 34% faster.
Bug Fixes
Rendering
Fixed
page.renderbitmap export using a black background in SDK 11 instead of the 10.x white background.[Performance]Fixed mid-batch
page.renderimage conversion failing withgetPageBitmapengine errors.[Performance]Fixed very large drawings causing excessive memory or crashes on mobile and heavy memory or render stalls on desktop.
Fixed brief desync between annotations and selection chrome during zoom (“drift / judder”).
Fixed occasional whole-page shift after pinch-zoom release on phones.
[Performance]Fixed Safari scroll jank, sidebar affecting first paint and navigation, and non-passive
wheellistener performance warnings.[Performance]Reduced stamp flicker while zooming the PDF.
[Performance]Improved render throughput when continuously scrolling large documents after rotating the view.
Document and page
Fixed blank UI or “file damaged” when using
loadPDFDocByHttpRangeRequestbefore a fragmentedopenPDFByHttpRangeRequestopen.Fixed collaboration where the first user closing the co-editing page left other users in the same session URL with missing or unsynced annotations.
[Performance]Fixed
getEmbeddedFiletaking too long on very large embedded attachments and the browser crashing on extremely large files.Fixed
openPDFByHttpRangeRequeston specific PDFs showing a blank virtual page 2 and first-page interaction throwingUnknown engine error.
Text and content
Fixed
compareDocumentsunder Vietnamese (vi-VN) dropping summary or result title text in the output comparison PDF.Fixed
PDFDoc.searchTextregex search (Search & Redact) failing on very high page-count PDFs.Fixed Advanced Edit text mode with Japanese IME: full-width brackets left the selection stuck and impossible to clear.
Fixed redaction selection offset when applying redactions from search hits after alternating search and manual redact (text index not updated after text removal).
Forms and XFA
Fixed “Create multiple copies” vertical and horizontal counts inverted versus 10.x and desktop Editor.
Fixed dynamic XFA form export to XML then re-import preventing field values from writing back.
Fixed hand tool clicks on form fields still firing
activeAnnotation.Fixed GDOR tax sample issues: memory error when closing the help dialog, Tab key paging incorrectly, and date widget panel not auto-collapsing.
Annotations — interaction, display, and permissions
Fixed Callout on specific documents: could not place on the left of the page; leader or text box wrong or collapsed when creating in succession.
Fixed line spacing and last-line mismatch for annotations before versus after blur when using custom mapped fonts.
Fixed FreeText box width shrinking abnormally after continuous input at high zoom when the page extends beyond the viewport.
Fixed mobile workflow where, after opening a single-page document then switching to a multi-page PDF, vertical swipe paging no longer worked.
Fixed Typewriter still editing while wheeling across pages so some pages’ annotations were missing from the annotation list.
Fixed
setDefaultAnnotConfignot applying default colors or properties for Note and similar annotations.Fixed Callout default rectangle too large and leader start not matching the pointer on some draw paths.
Fixed occasional runtime error when hovering over existing annotations (reload and developer-tools-related repro paths).
Fixed delete-only permission still allowing move via context-menu align, distribute, or uniform size.
Fixed fewer annotations loaded than Adobe on specific documents, with
getAnnotsengine errors.Fixed measurement annotations incorrectly allowing geometry (
rect) edits by default.Fixed Stamp default properties: create on a rotated page then drag to a normal page caused squashed or wrong scale.
Fixed area highlight not stacking above TextBox or Callout, inconsistent with desktop Editor z-order.
Fixed ruler UI flicker when setting measurement scale units programmatically.
Fixed
annotComponent.active()orpdfui.activateElementnot firingactiveAnnotation.Fixed first programmatic Stamp add where rectangle versus stamp aspect or position was wrong, and wrong behavior after switching documents.
Fixed Cloud annotation arcs pointing outward on some draw directions instead of consistently inward.
Fixed regression where custom stamp dropdown
titleor tooltip showed category name instead of stamp name.Fixed error switching from hand tool to a newly created custom dynamic stamp tool.
Fixed wrong annotation selected or none selected when clicking quickly and moving the pointer away.
Fixed Chromium 86–class browsers (for example 360 Enterprise): pencil and typewriter issues, console errors, and page artifacts after page flip.
Annotations — data exchange
Fixed highlight exported to JSON then re-imported snapping to text instead of staying a free region highlight.
Fixed import hang or blank page on specific documents.
Fixed Typewriter on rotated pages where JSON export and import layout differed from pre-export.
Fixed caret text-replacement annotations incomplete after importing PDFBox-exported FDF.
Fixed non-breaking space (U+00A0) rendering as Euro symbol after JSON export and import.
Fixed specific documents erroring when exporting annotations to JSON via API or UI.
Fixed XFDF export using page-rotation attribute names inconsistent with older builds and common interop (
rotation/rotate).Fixed JSON import failing when
contentended with a stray backslash or other bad escaping.
Annotations — grouping
Fixed stretching one grouped member shifting sibling positions incorrectly.
Fixed
setBorderWidthon a group affecting only the active member while other border APIs behaved on the whole group.Fixed unstable or duplicate
annotationUpdatedfirings for move or line width on grouped or multi-selected annotations.Fixed
setBorderInfoon a group affecting one member whilesetBorderStyleandsetBorderWidthaffected the whole group.Fixed occasional canvas not refreshing after grouped annotation move or property change until the page was scrolled.
Security and signatures
Fixed empty document ballooning in size after adding then deleting a Stamp.
Fixed viewport scrolling below the signature field after sign when the field sits in the left half of the page.
Fixed custom dynamic stamp list showing seams after refresh versus seamless first paint.
Fixed Note pop-up icon visibility changing after open-and-download-only via SDK versus desktop Editor preferences.
Other
Fixed Next.js 12 integration with the official sample not loading the SDK (aligned with Next 14 sample behavior).
Fixed
pdfViewer.offShortcutKey('ctrl+v')not disabling paste.
Windows/Mac/Linux
April 3, 2026
Breaking Changes
The following changes require code updates when upgrading from v11.0. Existing projects that use these APIs will not compile or may behave differently without modification.
ActionCallback — Parameter change and new pure virtual methods
The ActionCallback class has 1 parameter change and 7 new pure virtual methods. Any subclass must be updated.
Parameter change — GetPageWindowRect now requires document and page_index parameters:
// v11.0
virtual RectF GetPageWindowRect() = 0;
// v11.1
virtual RectF GetPageWindowRect(const foxit::pdf::PDFDoc& document, int page_index) = 0;
New pure virtual methods — implement with empty bodies if the functionality is not needed:
virtual void NotifyBeginDoJob(const pdf::PDFDoc& document,
JavascriptModifyItemInfo::JavascriptEventType event_type) = 0;
virtual void NotifyAfterDataChange(const pdf::PDFDoc& document,
JavascriptModifyItemInfo modify_item_info) = 0;
virtual void NotifyEndDoJob(const pdf::PDFDoc& document,
JavascriptModifyItemInfo::JavascriptEventType event_type) = 0;
virtual bool InitModifyItem(const pdf::PDFDoc& document,
ModifyItemType item_type, int page_index, const WString& dict_name) = 0;
virtual void ResetModifyItem(const pdf::PDFDoc& document) = 0;
virtual int GetVisiblePageCount(const pdf::PDFDoc& document) = 0;
virtual int GetVisiblePage(const pdf::PDFDoc& document, int index) = 0;
DocProviderCallback — New pure virtual method (XFA)
A new pure virtual method is added. Subclasses of DocProviderCallback must implement it:
virtual void NotifyWidgetChangeInfo(const XFADoc& doc, XFAWidgetModifyInfo change_info) = 0;
This only affects projects that use the XFA module. Implement with an empty body if not needed.
IconProviderCallback::GetIcon — Parameter change (silent)
The GetIcon method has changed. This is not a pure virtual, so compilation will succeed, but existing overrides will silently stop being called:
// v11.0
virtual PDFPage GetIcon(Annot::Type annot_type, const char* icon_name, ARGB color);
// v11.1
virtual PDFPage GetIcon(Annot::Type annot_type, const char* icon_name, ARGB color,
foxit::pdf::objects::PDFDictionary* annot_dict);
Action required: Update the override to include the new annot_dict parameter. Enable -Woverloaded-virtual (GCC/Clang) or /W4 (MSVC) to detect this at compile time.
OCRCallback — New pure virtual method
A new pure virtual method IsImageIgnored is added to the existing OCRCallback class:
// v11.0
class OCRCallback {
virtual bool NeedToCancelNow(const wchar_t* info) = 0;
};
// v11.1
class OCRCallback {
virtual bool NeedToCancelNow(const wchar_t* info) = 0;
virtual bool IsImageIgnored(foxit::pdf::graphics::ImageObject* image_object) = 0; // NEW
};
Action required: All subclasses of OCRCallback must implement IsImageIgnored. Return false to preserve previous behavior (no images ignored).
OCRConfig constructor and Set() — Parameter change
The parameterized constructor and Set() method gained 3 new required parameters:
// v11.0 (5 parameters)
OCRConfig(bool is_detect_pictures, bool is_remove_noise, bool is_correct_skew,
bool is_enable_text_extraction_mode, bool is_sequentially_process);
// v11.1 (8 parameters)
OCRConfig(bool is_detect_pictures, bool is_remove_noise, bool is_correct_skew,
bool is_enable_text_extraction_mode, bool is_sequentially_process,
bool is_auto_overwrite_resolution, int resolution_to_overwrite, int confidence);
Action required: Add the 3 new parameters. Use true, 300, 0 for default-equivalent behavior. Alternatively, use the default constructor which initializes all fields with defaults.
OCR::OCRPDFPage / OCRPDFDocument / OCRConvertTo / OCRPDFDocuments — New parameter
All OCR processing methods add an OCRProgressCallback* parameter:
// v11.0
void OCRPDFPage(PDFPage pdf_page, bool is_editable);
void OCRPDFPage(PDFPage pdf_page, bool is_editable, const OCRConfig& config);
// ... same pattern for OCRPDFDocument, OCRConvertTo, OCRPDFDocuments
// v11.1
void OCRPDFPage(PDFPage pdf_page, bool is_editable, OCRProgressCallback* callback = NULL);
void OCRPDFPage(PDFPage pdf_page, bool is_editable, const OCRConfig& config, OCRProgressCallback* callback = NULL);
C++: Has default value
NULL— existing calls compile without changes.C# / Python / Java / Node.js / Go: Bindings do not inherit the C++ default value. Existing calls must add the new parameter explicitly (pass
null/None/nilto preserve previous behavior).
PDF to Office — API parameter changes
The following conversion APIs have breaking changes in this release. For detailed migration guidance with code examples, see the Breaking Changes section in the Conversion SDK v3.1.0 Release Note (included in the Conversion SDK package).
PDF2WordSettingData— Add required parametermax_blank_paragraphs_per_page_bottom; default value ofenable_generate_headers_and_footerschanged fromfalsetotruePDF2PowerPointSettingData— Add required parameterenable_adapt_to_largest_pagePDF2ExcelSettingData— Add required parametersenable_aggressive_table_repairandinclude_watermarksPDF2OfficeSettingData— Add required parameterenable_matching_system_fontsPDF-to-Word now preserves internal document navigation links by default
New Features and Enhancements
Platform
Add Node.js v21 and v22 support (extends previous v18-20 range)
Add Node.js macOS platform support
Conversion
Add WPS-powered Office-to-PDF conversion on Windows via
Convert::FromWord/Excel/PowerPoint(..., e_Office2PdfEngineWps)Add system font precise matching toggle for PDF-to-Word:
PDF2OfficeSettingData::enable_matching_system_fontsUpdate PDF-to-Word to preserve internal document navigation links by default
Add page size adaptation for PDF-to-PPT:
PDF2PowerPointSettingData::enable_adapt_to_largest_pageAdd PDF-to-Excel table repair and watermark output controls:
PDF2ExcelSettingData::enable_aggressive_table_repair/include_watermarksAdd font embedding toggle for Linux Office2PDF:
Office2PDFSettingData::is_embed_fontAdd version query APIs:
Office2PDF::GetVersion()/PDF2Office::GetVersion()Update
Office2PDF::ConvertFromWordto support DOC (Word 97-2003) format
OCR
Add progress callback via
OCRProgressCallbackclass withProgressNotify(int current_rate)Add Arabic language support:
OCREngine::SetLanguages("Arabic")Add configuration parameters:
OCRConfig::confidence(confidence threshold) andOCRConfig::resolution_to_overwrite(resolution override)Add standalone command-line tool for multi-process parallel OCR:
ocr_win64.exe/ocr_linux64Add image filtering callback:
OCRCallback::IsImageIgnored(ImageObject*)
Rendering
Add overprint rendering support:
Renderer::SetOverprint(bool is_to_enable_overprint)
Security and Signature
Add pre-sign self-modification tracking callbacks in
ActionCallback:InitModifyItem(),ResetModifyItem(),NotifyBeginDoJob(),NotifyAfterDataChange(),NotifyEndDoJob(); addDocProviderCallback::NotifyWidgetChangeInfo()for XFA widget change trackingAdd
CertChainResolverCallbackandTrustedCertStoreCallbackfor cross-CA LTV enablement inLTVVerifierAdd
Redaction::EnableFileStream()to reduce memory peaks in high-redaction-volume scenarios via file stream
Forms and Annotation
Add 29 XFA event types to
XFADoc::EventTypefor granular event handling (Click, Change, Enter, Exit, PreSign, PostSign, PreSave, PostSave, etc.)Update
IconProviderCallback::GetIconwithannot_dictparameter for annotation dictionary access
Document and Page
Update
ActionCallback::GetPageWindowRectwithdocumentandpage_indexparameters for multi-page JS layer (OCG) controlAdd
ActionCallback::GetVisiblePageCount()andActionCallback::GetVisiblePage()for querying visible pages in multi-page viewAdd methods to remove PDF logical structure tags:
PDFDoc::RemoveStructTree(),PDFStructTree::RemoveChild(),StructElement::RemoveChild()Add
Font::IsCharSupported(uint32 unicode, const PDFDoc& document)for character support detectionAdd
Library::AddExternalFontPath()andLibrary::MatchExternalFontsOnly()for external font path management
3D
Add
PDF3DContext::Add3DAnnot()to insert 3D annotation on a specified page (file path and ReaderCallback modes)Add 3D preset view and model tree interaction:
PDF3DAnnotInstance::ApplyPresetView(),GetPresetViewList(),ModelNodeclass with visibility control
Optimization
Add transparency optimization with configurable resolution modes (Low/Medium/High):
OptimizerSettings::SetTransparencyMode()
Bug Fixes
Conversion
Fix PDF-to-Word crop marks at page corners causing translation software failures
Improve PDF-to-Word cross-application rendering consistency between MS Office and WPS Office
Fix PDF-to-Excel cell text placed inside shapes instead of cells
Fix PDF-to-Excel table borders rendered as bitmaps overlaid on the table
Fix PDF-to-Excel excessive conversion time with cells appearing as images
Fix PDF-to-PPT page dimension changes with content shrunk to upper-left
Fix
Office2PDF::ConvertFromWordcrash on specific DOCX filesFix incorrect character spacing in Word-to-PDF causing wrong line breaks
Fix bold text appearing excessively bold in Word-to-PDF output
Fix missing text (last sentence lost) in Word-to-PDF output
Fix shape rendering deviations and incorrect text line breaks in Word-to-PDF
OCR
[Linux] Fix
OCRConvertTofailure (ERR_FREN_NO_PAGES) due to missing Chinese fontsFix
OCRConvertToerror (ERR_IMAGE_LIBJPEG_LIBRARY_RAISED_ERROR) on specific filesFix
OCRConvertToonly outputting first page of a 44-page document
Rendering
Fix incorrect CMYK-to-ARGB color conversion in Bitmap DIBFormat
[Performance] Fix progressive rendering slowdown (17s->24s->30s->40s) with multiple open documents
Fix
OutputPreview::SetSimulationProfile()not reflecting different ICC profilesFix missing text in OutputPreview rendering of specific PDFs
Fix rendering inconsistencies with Adobe on specific PDF pages
Fix crash when saving
Bitmapcreated withe_DIBRgbviaImage::SaveAsFix abnormal rendering when adding
PathObjectto specific document pagesFix memory leak in
Bitmapconstructed from buffer wheredelete()did not free memory
Printing
Fix color discrepancies and uneven dot patterns in PrintManager output
Fix intermittent crash in multi-threaded PrintManager usage
Fix
FXPM_AddPDFFromFileToJobandFXPM_SetJobDocumentNamenot supporting CJK pathsFix
FXPM_SetJobDuplex(1)not enabling duplex printingFix mixed-orientation page content not rotating with page direction
Fix
SetRotation()causing landscape PDFs to print with portrait text orientationFix PrintJob only printing first file when multiple files added via
AddPDFFromFile
Forms
Fix XFA
ExportData/ImportDatacycle corrupting table headers and digital signaturesFix XFA TextField Widget proliferation causing progressive load time increase and crash
Fix C# ViewDemo rendering blank pages for specific XFA documents
Fix JavaScript layer (OCG) visibility control having no effect
[Regression] Fix
ActionCallbacktrigger regression in v11 where some callbacks did not fire after field modificationFix “Inherit Zoom” bookmark destination only working for the first bookmark
Document and Page
Fix crash when calling
SaveAswithe_SaveFlagLinearizedafterStartEmbedAllFontsFix
fxhtml2pdfzombie process afterHtml2PDFtimeout[Performance] Fix
StartSplitByFileSizetaking over 1 hour for 25,000-page PDFsFix excessive Redaction memory peaks in high-redaction-volume continuous-processing scenarios
[Windows] Fix
ComplianceEngine::SetTempFolderPath()writing to executable directory instead of system tempFix C#
TextPage.GetTextInRectreturning question marks for certain charactersFix
GetEditingTextCaretPositionreturning incorrect positions causing misplaced IME candidate window
Other
Fix visual artifacts from parallel multi-process Optimizer image compression
Fix specific 3D PDF showing blank after clicking 3D annotation area
Improve AutoTagging recognition of Figure-type images vs. Adobe Auto-Tag
Fix incorrect content matching in Comparison for OCR documents
PDF Conversion SDK 3.1.0
April 3, 2026
Breaking Changes
PDF2WordSettingData — Parameter change and default value change
Constructor and Set() method add a required max_blank_paragraphs_per_page_bottom parameter:
// 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); // new
Action required: Add the new parameter when using the parameterized constructor or Set(). Pass -1 for unlimited (matching previous behavior). Alternatively, use the default constructor with field assignment.
Default value change — enable_generate_headers_and_footers changed from false to true. Code using the default constructor will now generate headers and footers. Set enable_generate_headers_and_footers = false explicitly to preserve previous behavior.
PDF2PowerPointSettingData — Parameter change
Constructor and Set() method add a required enable_adapt_to_largest_page parameter:
// 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); // new
Action required: Add the new parameter. Pass false to preserve previous behavior.
PDF2ExcelSettingData — Parameter change
Constructor and Set() method add 2 required parameters:
// 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); // new
Action required: Add 2 new parameters. Pass true, false to preserve previous behavior.
PDF2OfficeSettingData — Parameter change
Constructor and Set() method add a required enable_matching_system_fonts parameter:
// 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 */,
bool enable_matching_system_fonts); // new
Action required: Add the new parameter. Pass false to preserve previous behavior.
PDF-to-Word default behavior change
PDF-to-Word conversion now preserves document internal navigation links by default. If downstream workflows depend on link-free Word output, verify conversion results after upgrading.
New Features and Enhancements
PDF to Office
Add
enable_matching_system_fontsparameter toPDF2OfficeSettingDatafor system font matching in PDF-to-Word conversionAdd
enable_adapt_to_largest_pageparameter toPDF2PowerPointSettingDatato unify slide size by scaling smaller pages to the largest page dimensionAdd
enable_aggressive_table_repairandinclude_watermarksparameters toPDF2ExcelSettingDatato strengthen table structure repair and control whether watermark content is retained in Excel outputImprove PDF-to-Word conversion to preserve document internal navigation links (TOC, cross-references) by default
Improve PDF-to-Word conversion performance and reduce memory usage for complex documents
Improve PDF-to-Word heading recognition accuracy for better Word heading style mapping
Improve PDF-to-Word paragraph recognition, page break handling, and cross-page table continuity
Office to PDF
Add Linux platform support for
Office2PDFSettingData::is_embed_fontfont embeddingAdd DOC (Word 97-2003) format support to
Office2PDF::ConvertFromWordAdd
e_ErrNotMatchFonterror code for font-missing scenarios in Office-to-PDF conversion
Platform
Add Linux ARM64 .NET Core platform support
Bug Fixes
PDF to Word
Fix crash when converting specific PDF files to Word on Linux .NET platform
Fix conversion failure producing no output file for specific documents
Fix exception (
0x77574080 ntdll.dll) in MFC-based projects during PDF-to-Word conversion in Debug x86 mode[Linux] Fix incorrect font substitution where Song typeface renders as Hei in converted Word output
Improve font selection to avoid Segoe UI Light for better cross-application compatibility with WPS Office
Fix font style loss (e.g., bold) in converted Word documents
Fix incorrect font size in conversion output causing layout disruption
Fix extra spaces between characters in paragraph text of converted Word output
Fix title character overlap in converted Word documents
Improve layout stability for translation round-trip workflows where longer translated text caused subsequent page disruption
Fix crop marks at page corners interfering with third-party translation software
Fix table of contents misalignment in converted Word documents
Fix layout misalignment in converted Word output for specific files
Fix PDF headers and footers incorrectly converted as body text instead of Word header/footer sections
Fix extra line breaks at end of text lines causing layout disruption during translation write-back
Fix Arabic content loss during PDF-to-Word conversion
Improve conversion quality for large documents: reduce layout issues, output file size bloat, and excess page count
Improve cross-application rendering consistency between Microsoft Office and WPS Office
Fix faded text, abnormal table rendering, content loss, and text overlap for specific files
Fix table of contents loss or corruption with headings not recognized in converted output
Fix
enable_generate_headers_and_footers = truenot taking effect inPDF2WordSettingData
PDF to Excel
Fix cell text placed inside drawing shapes instead of editable cells
Fix excessive conversion time and incorrect table structure with cells appearing as images
Fix content loss when converting built-in test documents
Word to PDF
Fix crash in
Office2PDF::ConvertFromWordwhen converting specific DOCX filesFix hang with memory spike to 4 GB when converting specific Word files
Fix table content loss in specific regions during conversion
Improve character spacing and paragraph layout fidelity on Windows
Fix
is_embed_font = truenot taking effect on Windows inOffice2PDFSettingData[Linux] Fix blank PDF output on Red Hat systems missing Calibri font
Fix incorrect character spacing causing line break differences from original Word document
Fix bold text appearing excessively thick in converted PDF output
Fix missing last sentence in converted PDF for specific documents
Fix graphical shape rendering deviations and incorrect text line breaks