Skip to content

Foxit PDF SDK for Web 11.0.0 ​

Release date: June 30, 2025

Breaking changes ​

Form module refactor ​

Version 11.0 fully refactors the form module (including how form scripts run) for faster rendering, more native-looking visuals, and richer APIs. This release is not backward compatible.

Removed APIs

The following legacy form classes and APIs were removed; some are replaced by the new form APIs:

  • PDF.form.PDFControl
  • PDF.form.PDFField
  • PDF.form.PDFForm
  • PDFDoc.loadPDFForm

Impact

  • API changes: Code using the APIs above must migrate to the new form APIs.
  • Rendering: Form fields are no longer DOM-based; the PDF render engine draws them directly.
  • PDF JavaScript:
    • Execution runs in a Web Worker for main-thread safety.
    • Core PDF JavaScript APIs are implemented in C++/WebAssembly.

Replacement

  • Use:
    • PDF.form.PDFForm
    • PDF.form.PDFFormField
    • PDFViewCtrl.form.FormFillerService
    • addons.form_designer_addon
  • See the PDF Form API Migration Guide for details.

Signature workflow refactor ​

Signing and verification for AcroForm and XFA were refactored for clearer, more maintainable APIs.

Deprecated APIs

  • PDFUI.registerSignatureFlowHandler
  • PDFUI.setVerifyHandler

Impact

  • Still available in 11.0 but will be removed later. Migrate if your app depends on them.

Replacement


Action system refactor ​

The legacy standalone Action API architecture is deprecated in favor of a unified action and event model.

Deprecated API

  • PDF.actions.action

Impact

  • Still available in 11.0 but will be removed later.

Replacement


Bookmark API cleanup ​

All bookmark APIs from before 10.0 were removed in this release.

Impact

  • Apps still using legacy bookmark APIs will not work on 11.0.

Replacement

New features and enhancements ​

Forms ​

  • New form-designer-addon to view and edit widget properties with live change notifications.
  • New FormFillerService for filling, interaction, design mode, events, and state.
  • New pdfDoc.autoRecognitionForm({ isSetTooltip: true }) to control tooltips when auto-detecting forms.

Signatures ​

  • IViewerUI.getSignatureUI() for custom signing, verification, and property UI.
  • PDFViewCtrl.annotComponents.SignatureAnnot for field create/sign/verify flows.
  • SignatureWorkflowService for custom signing workflows.
  • SignatureService for custom verification (backend or third party).
  • pdfDoc.sign() adds FontName, FontSize, iconFontName, and iconFontSize.
  • pdfsignature.getSignatureType() for signature type.
  • Paging seal configuration:
    • PDFDoc.updatePagingSealInfo()
    • PDFSignature.getPagingSealConfig()

Actions ​

  • GoToR: UI to create GoToR actions; RemoteGotoAction for file name/path, destination, and open behavior.
  • Document-level: PDFDoc.setOpenAction(action), removeOpenAction(), getOpenAction().
  • Annotation and control actions: Annot::getAllActionData(), updateAction(), removeAction(), appendAction, supportsAction; PDFFormPropertiesService action helpers.
  • Additional actions: actions.AdditionalAction<T> for actions triggered by annotations, page objects, or form fields.

Annotations ​

  • Separate border and fill opacity: MarkupAnnot.setBorderOpacity() / getBorderOpacity(), setFillOpacity() / getFillOpacity().
  • WebP stamp images; stamp icons cacheable in IndexedDB.
  • enableShowIdentityInfoDialog() for digital stamp identity prompts.
  • Custom URL protocols for links.
  • AnnotComponentConfig::moveDirection for move direction on annotations and widgets.

Text editing ​

  • page.splitTextInRect() for character-level text splitting.
  • PageEditorAddon.changeTextColorByRect() to change text color in a region.

Document sanitization ​

  • UI to detect and remove hidden/private information.
  • PDFDoc.sanitize(), removeHiddenData().

Viewer preferences ​

  • PDFViewPreference class and PDFDoc open-action and view-preference APIs.

Local fonts ​

  • UI prompt for local font access; PDFViewer.grantQueryLocalFontsPermission().

PDF/A ​

  • UI prompt when opening PDF/A; grantEditPDFAPermission(permission) on PDFViewer.

Portfolio accessibility ​

  • Portfolio Layout and Details views support keyboard navigation (Home, End, Tab, Enter, arrows).

File download progress ​

  • getFile() adds progressHandler for download progress callbacks.

New samples ​

  • github.com/foxitsoftware/foxit-CollaborationAddon-example - Vue3
  • examples/UIExtension/form/custom-form-properties-editor/
  • examples/UIExtension/form/custom-widget-contextmenu/
  • examples/UIExtension/form/interaction-event-interceptor/
  • examples/PDFViewCtrl/custom-date-time-picker/

Fixes ​

Annotations ​

  • Eraser circle indicator scales with page zoom.
  • Callout position offset after input in some drawing documents.
  • Callout add failure on first page in some documents.
  • Checkmark stamps from the SDK viewer not displaying in other readers.
  • FreeText missing from annotation list in some documents.
  • Cannot deselect multiple annotations from the list.
  • Drawing annotations could extend past page bounds.
  • Drawing color picker and programmatic color updates.
  • Typewriter color lost after JSON export/import.
  • FreeText font lost after XFDF export/import.
  • FreeText display issues on some pages.
  • Large FDF export size for FreeText with non-English characters.
  • Circle Area measurement not respecting page.setMeasureScaleRatio().
  • Distance measurement scale display.
  • Pencil drawing with unit conversion precision.
  • Console errors on annotation property right-click in some documents.
  • Link annotations not firing rightClickAnnotation.
  • Stamp resize aspect ratio.
  • Custom stamp via PDFViewer::addAnnotationIcon.

Page display and operations ​

  • Overlay comparison output on some drawing files.
  • getText extraction mismatch.
  • Text/image objects hidden after Matrix changes.
  • Electron nodePath.dirname is not a function.
  • Service Worker registration failure blocking Safari PDF load.
  • Console errors opening specific PDFs.
  • Load failure when layer content is empty.
  • openPDFByHttpRangeRequest() Range parse failures.
  • Custom fonts not visible in other readers due to encoding.
  • Only first font applied when matching arbitrary fonts in UI.
  • Redaction mask covering full page.
  • View not updating after pdfViewer.rotateTo.
  • Signature appearance missing when Base Font Name fails.
  • Memory overflow in FindNext when changing pages during search.
  • Linearized PDF first-page render from ~60s to ~1s.

Permissions and JavaScript ​

  • Focus events for JavaScript forms not firing.
  • Async JavaScript form logic handling.
  • Text not editable despite edit permission.
  • False permission error when cropping with setPagesBox on unrestricted docs.
  • Search & Highlight checkbox not disabled without annotation permission.

UI and interaction ​

  • pdfUI.confirm() parameter customization.
  • iOS Chrome print preview display.
  • Trackpad scroll too sensitive.
  • Blank document area after resizing left panel multiple times.