Foxit PDF SDK for Web 11.1.0
Release date: April 20, 2026
Summary
This release adds 17 capability improvements across bookmarks, text extraction, annotations, forms, signatures, 3D, measurement, and viewer integration, plus 60 customer-reported fixes. If you upgrade from 11.0, read the Breaking changes section on bookmarks below.
Breaking changes
Bookmarks — asynchronous destinations (incompatible change)
What changed
- From 11.1.0,
page,left,top,zoomMode, andzoomFactoronBookmarkDataare deprecated. For large and linearized/fragment-loaded PDFs, initial bookmark tree nodes no longer embed full destination data.
Use instead
BookmarkDataService.getBookmarkDestination(bookmarkId)— async destination data (coordinates, zoom, related fields) for thumbnails, overlays, or custom scroll logic.BookmarkDataService.performAction(bookmarkId)— runs the bookmark’s PDF action chain (GoTo, URI, JavaScript, etc.) like the built-in bookmark panel; for standard navigation you do not needgetBookmarkDestinationbeforeperformAction.- Prefer page object numbers over fragile
pageIndexwhen associating bookmarks with pages.
New features and enhancements
Page text and advanced editing
PDFPage:getText,getCharCount,getCharInfoByIndex,getCharRangefor character-index integrations (proofreading, annotation anchors, automation with search APIs).PDFPage.addRichText: programmatic rich text on the page (requires AdvEdit license).
Annotations and forms
PDFViewer.setMultipleSelectionEnabled/isMultipleSelectionEnabled: marquee multi-select, Ctrl/Shift multi-select, Ctrl+A / Cmd+A for annotations and widgets.PDFPage.setAnnotGroupandMarkupAnnot.ungroup: group/ungroup without new PDF objects; stableobjNumberandname; listen forAnnotUpdatedType.groupUpdatedonannotationUpdated.enableRealtimeAnnotShapeUpdate: optional live Callout shape updates while dragging/resizing; set via PDFViewer constructor and/orpdfViewer.config.enableRealtimeAnnotShapeUpdate.AnnotComponentConfig.enableDiagonally: diagonal resize handle for Callout in the config callback.- FreeText: editing closer to Foxit PDF Editor (desktop) for mixed scripts and layout.
- Form buttons: Select icon dialog to browse, preview, and clear button images (JPEG, PNG, GIF, BMP).
Signatures and stamps
- Quick sign (Protect menu): PSI-style pressure simulation on the page alongside the classic Sign PDF dialog.
- Signature UI: clear signature from context menu; Sign and Certify → Place signature in Protect;
PDFDoc.signextended withisKeepRatioandcustombitmap overlay. - Custom dynamic stamps: UI and API (
CustomDynamicStamp/setDynamicStamp,fieldas object or array) for multi-segment labels.
3D and measurement
- 3D PDF: sidebar model tree (part visibility) and view list with preset cameras for design review.
CreateMeasurementService(pdfViewer.getCreateMeasurementService()): programmatic measurement creation (annotations, labels, result panel, snap mode, scale, etc.)—replaces ad hoc DOM coupling to the measurement sidebar.
Host integration
PDFViewerconstructor:customs.containerRoot(HTMLElement) to scope styles without iframe (works with Shadow DOM and similar).- Stable
component-nameattributes on annotation menus and related components for predictablegetComponentByNamecustomization.
Performance
- Bookmarks: async
getBookmarkDestinationand a leaner initial tree reduce upfront parsing when opening or expanding the bookmark panel—especially for large linearized docs andopenPDFByHttpRangeRequest. - Rendering: pipeline optimizations—up to 39% faster zoom interaction and up to 34% faster annotation/form page turns.
Bug fixes
Rendering
page.renderblack background in SDK 11 vs white in 10.x.- [Performance] Engine errors mid-batch
page.renderconversion. - [Performance] Large drawings: mobile OOM/crash; desktop memory and stutter.
- Annotation/control frame drift during zoom.
- Two-finger zoom page shift on phones after release.
- [Performance] Safari scroll jank, sidebar hurting first paint/navigation, non-passive
wheelwarnings. - [Performance] Stamp flicker during zoom.
- [Performance] Scroll speed after view rotation on large documents.
Document and pages
- Blank UI or corrupt file after
loadPDFDocByHttpRangeRequestthen fragmentedopenPDFByHttpRangeRequest. - Collaboration: annotations missing for other users after first user closes the collab page on the same session URL.
- [Performance] Slow
getEmbeddedFilefor large attachments; crash on huge attachments. - Virtual blank second page and
Unknown engine erroron first-page interaction for some range-loaded PDFs.
Text and content
compareDocumentslosing summary/title text for Vietnamese (vi-VN) output PDFs.PDFDoc.searchTextregex search failing on very large page counts.- Japanese IME full-width parentheses breaking selection in advanced edit mode.
- Redact-by-search offset after alternating search and manual redact marking.
Forms and XFA
- “Create multiple copies” row/column counts inverted vs 10.x and desktop Editor.
- Dynamic XFA XML export/import not writing field values back.
- Hand tool still firing
activeAnnotationon widget click. - GDOR tax sample: help dialog memory error, Tab changing pages, date panel not collapsing.
Annotations — interaction, display, permissions
- Callout placement on left side, leader/text box collapse when creating in series.
- Line height / last line mismatch with custom mapped fonts after blur.
- FreeText width shrinking at high zoom when page exceeds viewport.
- No vertical scroll after switching from single-page to multi-page on mobile.
- Typewriter input across pages without ending edit—missing entries in annotation list.
setDefaultAnnotConfigineffective for Note defaults.- Oversized default Callout rect; leader start not at cursor.
- Runtime error hovering annotations (reload/console-related paths).
- Align/distribute/size menus moving annotations with delete-only permission.
- Fewer annotations loaded than Adobe in some docs with
getAnnotserrors. - Measurement annotations still allowing geometry (
rect) changes by default. - Stamp on rotated page then dragged to normal page appears squashed.
- Area highlight not stacking above TextBox/Callout like desktop Editor.
- Ruler unit UI flicker when setting measure scale programmatically.
annotComponent.active()/pdfui.activateElementnot firingactiveAnnotation.- First programmatic Stamp rect/size mismatch; wrong behavior after document switch.
- Cloud arc direction outward in some draw directions.
- Custom stamp dropdown
title/tooltip showing category instead of stamp name. - Error switching from hand tool to new custom dynamic stamp.
- Wrong annotation selected on quick click-and-move away.
- Chromium 86 (e.g. 360 Enterprise): pencil/typewriter errors, console errors, page residue.
Annotations — data exchange
- Highlight JSON import re-attaching to text vs independent area highlight before export.
- Import hang or blank page on specific documents.
- Typewriter JSON import layout mismatch on rotated pages.
- Incomplete caret annotations after importing PDFBox FDF.
- U+00A0 shown as euro symbol after JSON round-trip.
- JSON export failure on specific documents via API or UI.
- XFDF rotation property names (
rotation/rotate) vs history and interoperability. - JSON import failure when
contentends with backslash (bad escaping).
Annotations — grouping
- Group resize moving other members incorrectly.
setBorderWidthon grouped annots vs other border APIs on the group.- Unstable duplicate
annotationUpdatedon group move/line width. setBorderInfovssetBorderStyle/setBorderWidthinconsistency on groups.- Canvas not refreshing until scroll after group move/property change.
Security and signatures
- Empty doc: add/delete Stamp then save—file size ballooning.
- Viewport scroll down after sign when field is on left half of page.
- Custom dynamic stamp gaps after list refresh.
- Note popup icon visibility changed by open/download only—vs desktop Editor preferences.
Other
- Next.js 12 official sample not loading SDK (aligned with Next 14 sample).
pdfViewer.offShortcutKey('ctrl+v')not disabling paste.