Methods
Whether an active text block can receive an undo command. Today the undo stack is text-input scoped and lives inside core — granular emptiness is not exposed, so this returns
trueiff a text block is active. AcanRedocounterpart is intentionally not exposed until core reports actual stack emptiness; it could not answer differently from this method.Returns
boolean
Create a new text block at the given anchor. Resolves with the id of the new block, which can immediately be passed to focusBlock or selectAllText.
Parameters
input{ anchor: { x: number; y: number }; pageIndex: number }Returns
Promise<string>
Delete the currently active or selected block.
Returns
Promise<void>
Delete a block by id, regardless of type.
Parameters
idstringReturns
Promise<void>
Enter "add a new text block" mode — the next pointer down on the page creates a block.
Returns
void
Exit create mode, returning to plain edit mode.
Returns
void
Put the given block into Active state (cursor inside, edit mode). Pass
nullto clear.Parameters
idstring | nullReturns
void
Returns
string | null
Returns
readonly AvailableFontFace[]
Synchronous read of a single block by id. Narrow on
block.type.Parameters
idstringReturns
TextBlockSummary | null
Synchronous read of the blocks the live session has detected so far, or of those on one page. Narrow on
block.type.Detection runs per page and asynchronously, so a page returns an empty array until its own detection resolves. On a UI session that happens when the page is displayed, and nothing reports it, so an empty array does not distinguish a page that is not yet detected from a page with no text. On a programmatic session, await ContentEditing.Session#getTextBlocks for a page first to populate it.
Parameters
pageIndexnumberOptionalReturns
readonly TextBlockSummary[]
Style at the cursor / selection inside the active block, or
nullif no block is active.Returns
CurrentStyle | null
Fonts referenced by detected text blocks that could not be matched to an available face. Populates as blocks are interacted with — paragraphs that have not yet been touched are not yet inspected.
Returns
readonly FontMismatch[]
Returns
string | null
Fonts that are embedded in the document as subsets. Populates as blocks are interacted with — see getFontMismatches.
Returns
readonly SubsetFontInfo[]
Insert text at the current cursor / over the current selection inside the active block. Mirrors what typing does, but driven from a custom toolbar.
Parameters
textstringReturns
void
True iff any session — UI or programmatic — is live.
Opening a UI session programmatically: call
instance.setViewState(vs => vs.set('interactionMode', NutrientViewer.InteractionMode.CONTENT_EDITOR)). Closing: call Instance#saveContentEditingSession or Instance#discardContentEditingSession.Returns
boolean
Whether the session is currently in create mode.
Returns
boolean
Redo the last undone change in the active text block.
Returns
void
Select every character in the given text block. Await the returned promise before calling setTextStyle; the style then applies to the entire block.
Parameters
idstringReturns
Promise<void>
Put the given block into Selected state (clicked, but not in edit mode). Pass
nullto clear.Parameters
idstring | nullReturns
void
Apply layout properties to a specific text block in the active UI session.
Parameters
idstringlayoutLayoutInputReturns
Promise<void>
Apply list formatting to the selected text in the active block. If no text is selected, the operation applies to the whole active block. Use
"none"to remove list markers.Parameters
formattingListFormattingReturns
Promise<void>
Select a character range inside the given block. The block must already be active (in edit mode). Pass
nullto clear the selection. Character indices map to the plain-text content returned by getBlock(id).text.Parameters
idstringrange{ begin: number; end: number } | nullReturns
Promise<void>
Apply style to the current UI selection (or to the cursor for next-typed text).
Parameters
styleTextStyleReturns
void
Undo the last change in the active text block (text-input scoped today).
Returns
void
The
instance.contentEditornamespace exposes the headless APIs that let a custom toolbar read state from and write state to the live UI content editor session.Session save/discard/dirty-flag/export and starting a programmatic session stay on
Instanceitself — see Instance#saveContentEditingSession, Instance#discardContentEditingSession, Instance#hasUnsavedContentEditingChanges, Instance#exportContentEditorPDF, and Instance#beginContentEditingSession. This namespace fills the gaps those methods do not cover.The read methods expose the live session — UI or programmatic, whichever is currently active. UI state methods such as selection, focus, text styling, undo, redo, and layout changes require an active UI session. Programmatic sessions should use the ContentEditing.Session returned by Instance#beginContentEditingSession for mutations.
Subscribe to "contentEditor.stateChange" to keep a custom toolbar in sync with state changes.