This HTML page is not optimized for LLM or AI agent consumption. Fetch the Markdown version instead: /guides/web/release-notes/1-18.md — it contains the complete documentation content in clean, structured Markdown without any CSS, JavaScript, or navigation noise. 1.18 release notes

1.18 release notes

RSS

Nutrient Web SDK 1.18 adds a programmatic content editor API, an auto-resolve option for confirmation dialog slots, and snapping for measurement creation. It also improves loading, printing, and rendering performance, updates GdPicture and Immutable.js, simplifies the SDK’s TypeScript import surface, and ships a broad round of comments, forms, and stability fixes. See the changelog for full details.

Advanced content editor APIs

This release adds a programmatic content editor API so you can drive editing from your own code instead of only through the UI.

  • Create and delete blocks, enter create-mode, set the selection programmatically, and insert text.
  • Apply list formatting, and introspect undo availability and fonts.
  • Set text styles, including native strikethrough, via instance.contentEditor.setTextStyle({ strikethrough }), and read the active style with getCurrentStyle().
  • Set paragraph alignment and line spacing via instance.contentEditor.setLayout(), reported through getCurrentStyle() and getBlock().
const instance = await NutrientViewer.load({
/* ...your existing configuration. */
});
// Apply strikethrough to the current selection.
instance.contentEditor.setTextStyle({ strikethrough: true });
// Set paragraph alignment and line spacing.
instance.contentEditor.setLayout({ alignment: "center", lineSpacing: 1.5 });

Auto-resolve for confirmation dialogs

Confirmation dialog slots now accept an additive autoResolve option that skips the prompt and answers it programmatically.

  • autoResolve accepts "accept" or "reject", which name the answer to the dialog rather than a button label, so "reject" is uniformly safe and never discards or deletes work.
  • When set, autoResolve takes precedence over a slot’s render and over the hide applied by the minimal UI preset.
  • It’s supported on annotations.deleteConfirm, contentEditor.exitConfirm, contentEditor.downloadConfirm, and reloadConfirm.
NutrientViewer.load({
// ...your existing configuration.
ui: {
contentEditor: {
// Download and continue without showing the prompt.
downloadConfirm: { autoResolve: "accept" },
},
annotations: {
// Keep the annotation instead of deleting it, with no prompt shown.
deleteConfirm: { autoResolve: "reject" },
},
},
});

Per slot, "accept"/"reject" resolve to:

Slot"accept""reject"
annotations.deleteConfirmdelete the annotationkeep it
contentEditor.exitConfirmsave & exitkeep editing (do not discard)
contentEditor.downloadConfirmdownload & continuedismiss without downloading
reloadConfirmreload the documentkeep the current document

Snapping for measurement creation

Creating measurements is now more precise. Measurement tools snap while you draw, a snap indicator shows where the point will land, and you can hold a modifier key to temporarily bypass snapping when you need a freehand placement.

Performance improvements

This release reduces latency across loading, printing, and document operations.

  • DOM printing against Document Engine now renders all pages in a single batched request instead of one request per page.
  • Initial document loading is faster because configuration requests are parallelized during load().
  • Text extraction, content tree retrieval, and rendering operations have lower latency.

Simpler TypeScript imports

The SDK’s type declarations now use export default instead of export =, so importing the SDK no longer requires enabling the allowSyntheticDefaultImports or esModuleInterop compiler flags. A missing type definition for officeConversionSettings in the NutrientViewer.load() configuration object has also been added.

Other additions

  • GdPicture is updated to 14.4.5.1. Refer to the GdPicture changelog for details.
  • Immutable.js is updated to version 5.

Form field changes

  • The multi-select option is removed from combo box form fields, and vertical alignment controls are removed from list box widgets in Form Creator.
  • List box widgets now use their configured explicit font size.
  • In Standalone mode, radio buttons are deselectable when noToggleToOff is disabled, and a deselected radio reports the value Off in both Standalone and Document Engine.

Comments, rendering, and stability

  • Fixes a range of comment editing issues, including drafts and edits losing intentional whitespace or saving empty content, content being lost when switching surfaces or deleting comments, edits closing when a reply is saved in the same thread, and typed or pasted URLs (including bare www. links) not becoming clickable.
  • Fixes several text annotation issues, including a font-size jump when entering edit mode after resizing, reimported rich-text (XFDF/Instant JSON) annotations not auto-fitting, cancel behavior discarding programmatic updates, and pending formatting being lost when editing empty text.
  • Fixes scrolling getting trapped on the current page in Safari while selecting a text block in the content editor or editing a text or callout annotation, and built-in dialogs being unresponsive on compact mobile viewports inside a shadow DOM.
  • Fixes content editor font issues, including CJK text disappearing or rendering as tofu after a font-family change, incorrect glyphs for embedded subset fonts, and matching for CID Identity-H subset fonts.
  • Fixes forms and export handling, including form field values not being committed before export and save, copy-and-paste of a field throwing a duplicate-name error, text form field widget styles being lost or restored incorrectly across export and reload, and checkbox, radio, and push button widget appearances and font sizes not being preserved.
  • Fixes rendering issues, including rotated pages remaining blurry after zooming with next-generation page rendering, CMYK PDFs with Multiply-blended transparency groups rendering washed out, and partially erased ink annotations rendering a stale appearance stream.
  • Fixes server-backed sync losing image and signature annotations when a concurrent change coincided with an attachment re-upload, and unhandled rejections when rapidly switching standalone documents.
  • Fixes next-generation rendering issues after Content Editor use, including tiles failing to decode in Server mode and pages staying blurry after saves, and fixes invalid text selection fonts for documents with unusually large glyph advances.

For a full list of fixes, refer to the changelog.

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.17 release notes. We appreciate your feedback and contributions as we continue to enhance Nutrient Web SDK.