Nutrient Web SDK 1.13 introduces a new page rendering architecture in beta, improves font handling for more accurate text output, and expands keyboard support across editing workflows. See the changelog for full details.

Canvas rendering and performance

This release adds a next-generation page rendering architecture that improves page loading and zooming responsiveness. The feature is currently in beta and can be enabled via the pageRendering configuration:

await NutrientViewer.load({
// ...your existing configuration
pageRendering: "next",
});

In our benchmarks, time to first page render is 10 percent quicker and zooming is 60 percent faster. The new architecture has gone through a lot of internal testing already, and we’re excited to get it in the hands of users for real-world testing and feedback. We recommend trying it out with your documents and sharing any feedback or issues you encounter.

Fonts and text fidelity

Page rendering now supports both dynamic fonts and font substitutions:

With 1.13, dynamic font loading now applies to page rendering. You can start with the default fonts bundle or generate your own with the nutrient-font-tool(opens in a new tab). If a required font is missing and available in your configured bundle, the SDK downloads it before rendering the page. This improves fidelity for documents with non-embedded fonts while avoiding unnecessary upfront downloads.

This release also extends font substitution to page rendering. Font substitution now works together with dynamic font loading: Substitutions are applied during rendering, and missing target fonts can be resolved from your configured dynamic font bundle. You can define substitution rules (for example, mapping Times* to your preferred serif font) and have them applied consistently across rendered page content.

Keyboard accessibility and WCAG compliance

This release makes major strides in accessibility. Content Editor now supports Control/Command-C, Control/Command-X, and Control/Command-V shortcuts for copying, cutting, and pasting entire text blocks, while line, shape, text, and callout annotations can now be created entirely with the keyboard. For WCAG compliance, toolbar button touch targets meet the minimum of 24×24 px, and the search UI announces minimum character requirements to screen readers. This release also fixes several focus management issues, including focus restoration when closing the search panel, focus loss after drag-and-drop reorder in the Document Editor, and annotation selection interfering with other focusable elements.

Content editing and document templates

New APIs allow programmatic management of content editing sessions, and populateDocumentTemplate() now supports image substitution. On the stability side, this release fixes a content editing crash caused by embedded fonts with empty or null font spans, and it ensures tagged PDF text placement is preserved in the correct content stream graphics state.

Performance and stability

Rendering performance sees notable improvements: First-page rendering for linearized PDFs is faster thanks to parallel byte range prefetching, and text comparison with the wordLevel option is significantly more responsive for large diffs through virtualization. This release also resolves multiple race conditions, including stale widget appearance streams after rapid form field updates, container reuse errors when switching documents, and AI Assistant MCP tools disappearing during quick document switches. For server-backed deployments, JSON Web Token (JWT) refresh is now supported via onAuthFailed and setSession.

PDF processing and export fixes

Several PDF processing edge cases are addressed in this release. XFDF export no longer truncates annotations containing Latin-1 encoded text with embedded null bytes, and document merging now handles malformed StructTreeRoot entries, along with document-level JavaScript that modifies form fields. Full-text search returns results for queries containing special characters like &, /, :, or +. Rendering fixes include corrected ink highlighter export with multiply blend mode backgrounds and more consistent rich-text annotation wrapping across export and reimport.

Minimum Document Engine version required: 1.5.6

For a complete list of changes, bug fixes, and improvements, refer to the changelog. For previous release notes, refer to the Web SDK 1.12 release notes. We appreciate your feedback and contributions as we continue to enhance Nutrient Web SDK.