The namespace for APIs dealing with document content editing
Extends
Classes
Members
-
<static> Events
-
Properties:
Name Type Description TEXT_CONTENT_UPDATED
string Core.ContentEdit.textContentUpdated SEARCH_AND_REPLACE_STARTED
string Core.ContentEdit.searchAndReplaceStarted SEARCH_AND_REPLACE_TEXT_REPLACED
string Core.ContentEdit.searchAndReplaceTextReplaced SEARCH_AND_REPLACE_TEXT_FOUND
string Core.ContentEdit.searchAndReplaceTextFound SEARCH_AND_REPLACE_ENDED
string Core.ContentEdit.searchAndReplaceEnded -
<static> Types
-
Content Edit types.
Properties:
Name Type Description TEXT
string Text type content. OBJECT
string Object type content, currently image only.
Methods
-
<static> addNewParagraph(content, options)
-
Add a new content box.
Parameters:
Name Type Description content
string The actual text content to be added to the paragraph. options
Object Configuration for the paragraph, including its position, page number, and styling options. Properties
Name Type Argument Default Description pageNumber
number <optional>
1 The page number where the paragraph will be inserted. position
Object <optional>
PDF coordinates specifying where the paragraph should appear on the page. Properties
Name Type Argument Default Description top
number <optional>
130 Distance from the top edge of the page. Needs to be at least 10 higher than position.bottom. left
number <optional>
10 Distance from the left edge of the page. right
number <optional>
130 Distance from the right edge of the page. Needs to be at least 20 higher than position.left. bottom
number <optional>
100 Distance from the bottom edge of the page. font
string <optional>
The font used for the paragraph text. The available fonts can be retrieved from ContentEdit.getContentEditingFonts. fontSize
string <optional>
'12' The font size of the paragraph text. Returns:
A promise that resolves when the content is added.- Type
- Promise.<void>
-
<static> alignContents(contentEditPlaceholderAnnotation, alignment)
-
Align text content
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.Annotation The annotation that represents the content where the text alignment should be set alignment
string The text alignment to set. Must be one of the following values: 'START', 'CENTER', or 'END'. Returns:
Resolves after the content has been updated- Type
- Promise.<void>
-
<static> getContent(contentEditPlaceholderAnnotation)
-
Gets the content of a content box.
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.RectangleAnnotation The placeholder annotation. See method isContentEditPlaceholder. Returns:
- Type
- Promise.<Core.ContentEdit.TextDetails>
-
<static> getContentEditingFonts()
-
Get a list of fonts available for content editing
Returns:
Resolves after the content has been updated, returns list of fonts- Type
- Promise.<Array.<string>>
-
<static> getDocumentContent(contentEditPlaceholderAnnotation)
-
Gets the content box data for the passed in annotation. The passed in annotation must be a content edit placeholder annotation.
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.RectangleAnnotation Returns:
content The document content associated with this content edit placeholder annotation- Type
- Promise.<string>
Example
const content = await instance.Core.ContentEdit.getDocumentContent(contentEditPlaceholderAnnotation);
-
<static> getResourcePath()
-
Get the location of the ContentEdit worker resource file InfixServerWasm.br.mem
Returns:
the URL for InfixServerWasm.br.mem file- Type
- string
-
<static> getTextReflow()
-
Gets the feature flag that enabled / disabled the reflow of long text when editing a content box.
Returns:
A promise that resolves to a boolean which indicates if long text reflow feature is enabled.- Type
- Promise.<boolean>
-
<static> getWorkerPath()
-
Get the location of the ContentEdit worker files InfixServerModule.js, InfixServerWasm.br.js.mem, InfixServerWasm.br.wasm, and InfixServerWasm.gz.js.mem
Returns:
the URL for InfixServerModule.js, InfixServerWasm.br.js.mem, InfixServerWasm.br.wasm, and InfixServerWasm.gz.js.mem files- Type
- string
-
<static> loadTextAttributes(id, startIndex [, restrictOptions], selectionLength)
-
Load selected text attributes from infixserver
Parameters:
Name Type Argument Description id
String The id of the content box, the OID currently startIndex
Number The index where the change start restrictOptions
object <optional>
An object that set returns for font name or font size Properties
Name Type Argument Description fontName
Boolean <optional>
Font name is not returned when restrictFontName is true fontSize
Boolean <optional>
Font size is not returned when restrictFontSize is true selectionLength
Number The length from start index to end index or selected text Returns:
- Type
- Promise.<void>
-
<static> preloadWorker(contentEditManager)
-
Preloads the content editing worker. If this function isn't called then the worker will be loaded when the content editing tool is enabled.
Parameters:
Name Type Description contentEditManager
Core.ContentEditManager The contentEditManager to use as context for the page editing. Returns:
Resolves after the worker has been loaded- Type
- Promise.<void>
-
<static> regeneratePage()
-
Sends a command to the worker to regenerate the content boxes and page content.
Returns:
Resolves after the page is prepared for editing- Type
- Promise.<void>
-
<static> searchAndReplaceText(options)
-
A function that will search and replace text inside the document.
Parameters:
Name Type Description options
object Properties
Name Type Argument Description toReplace
string | RegExp A string or global RegExp object that will be replaced on the page. replaceWith
string The string that replaces the string or RegExp provided in the first parameter. documentViewer
Core.DocumentViewer DocumentViewer instance. searchResults
Array.<Core.Search.SearchResult> the array of search results. caseSensitive
boolean <optional>
Is case sensitive search. wholeWord
boolean <optional>
Is serching the whole word. wildcard
boolean <optional>
Is searching with wildcard word. regex
boolean <optional>
Is searching with regular expression. isSingleSearchReplace
boolean <optional>
Is it single search and replace or whole document. Returns:
Returns promise which will resolve when the operation completes.- Type
- Promise.<void>
Example
instance.Core.ContentEdit.searchAndReplaceText({ toReplace: 'PDF', replaceWith: 'DOCX', documentViewer: instance.Core.documentViewer, searchResults: instance.Core.documentViewer.getPageSearchResults([1]) });
-
<static> setContent(contentEditPlaceholderAnnotation, content, isInheritingContentBoxStyles)
-
Sets the content of a content box.
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.RectangleAnnotation The placeholder annotation. See method isContentEditPlaceholder. content
string | Array.<Core.ContentEdit.SpanObject> The content to update. When using an XML string, it should be in the same format of the string that you obtain from getContentBoxContent(annot) , that is, a string where one or multiple elements wrapping the elements.
isInheritingContentBoxStyles
boolean Flag that specifies if the font size and font family from the content box will be applied. Defaults to true. Returns:
- Type
- Promise.<void>
Example
const annot = instance.Core.annotationManager.getSelectedAnnotations()[0]; const str = `<p><span style = "font-family: Lato;font-size: 12px; color: #424242; align: Start; leading-mode: Auto; leading: 1.33; start-indent: 0.00;">You plan to embed PDF functionality into an application.</span></p>`; await instance.Core.ContentEdit.setContentBoxContent(annot, str, true);
-
<static> setContentFont(contentEditPlaceholderAnnotation, font)
-
Set font of text content
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.Annotation The annotation that represents the content where the font should be set font
string The font family to set Returns:
Resolves after the content has been updated- Type
- Promise.<void>
-
<static> setContentFontSize(contentEditPlaceholderAnnotation, size)
-
Set font size of text content
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.Annotation The annotation that represents the content where font size should be set size
string The font size to set Returns:
Resolves after the content has been updated- Type
- Promise.<void>
-
<static> setResourcePath(workerPath)
-
Set the location of the ContentEdit worker resource file InfixServerWasm.br.mem This will override the location specified by Core.setWorkerPath for InfixServerWasm.br.mem file.
Parameters:
Name Type Description workerPath
string the URL for InfixServerWasm.br.mem file -
<static> setTextAttributes(attributes)
-
Sets the active text attributes to be applied to new text
Parameters:
Name Type Description attributes
TextAttributes The attributes to set Properties
Name Type Argument Description fontName
String <optional>
The font name fontSize
String <optional>
The font size bold
Boolean <optional>
Whether the text is bold italic
Boolean <optional>
Whether the text is italic underline
Boolean <optional>
Whether the text is underlined fontColor
String <optional>
The hex color of the text Returns:
- Type
- Promise.<void>
-
<static> setTextColor(contentEditPlaceholderAnnotation, color)
-
Set font color of text content
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.Annotation The annotation that represents the content where the text color should be set color
String The color of the text to set Returns:
Resolves after the content has been updated- Type
- Promise.<void>
-
<static> setTextReflow(textReflow)
-
Sets the feature flag that enables / disables the reflow of long text when editing a content box.
Parameters:
Name Type Description textReflow
boolean A boolean that specifies if the long text reflow feature should be enabled. Returns:
- Type
- Promise.<void>
-
<static> setWorkerPath(workerPath)
-
Set the location of the ContentEdit workers for InfixServerModule.js, InfixServerWasm.br.js.mem, InfixServerWasm.br.wasm, and InfixServerWasm.gz.js.mem files. This will override the location specified by Core.setWorkerPath for ContentEdit worker files.
Parameters:
Name Type Description workerPath
string the URL for InfixServerModule.js, InfixServerWasm.br.js.mem, InfixServerWasm.br.wasm, and InfixServerWasm.gz.js.mem files -
<static> toggleBoldContents(contentEditPlaceholderAnnotation)
-
Bold or unbold text content
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.Annotation The annotation that represents the content where bold should be toggled Returns:
Resolves after the content has been updated- Type
- Promise.<void>
-
<static> toggleItalicContents(contentEditPlaceholderAnnotation)
-
Italicize or unitalicize text content
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.Annotation The annotation that represents the content where italics should be toggled Returns:
Resolves after the content has been updated- Type
- Promise.<void>
-
<static> toggleStrikeContents(contentEditPlaceholderAnnotation)
-
Strike or de-strike text content
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.Annotation The annotation that represents the content where underline should be toggled Returns:
Resolves after the content has been updated- Type
- Promise.<void>
-
<static> toggleUnderlineContents(contentEditPlaceholderAnnotation)
-
Underline or de-underline text content
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.Annotation The annotation that represents the content where underline should be toggled Returns:
Resolves after the content has been updated- Type
- Promise.<void>
-
<static> updateDocumentContent(contentEditPlaceholderAnnotation, content, isInheritingContentBoxStyles)
-
Update the document with new content
Parameters:
Name Type Description contentEditPlaceholderAnnotation
Core.Annotations.RectangleAnnotation content
string The new content isInheritingContentBoxStyles
boolean A flag that specifies if the font size and font family from the content box will be applied. Defaults to true. Returns:
Resolves after the content has been updated- Type
- Promise.<void>
Example
instance.Core.ContentEdit.updateDocumentContent(contentEditPlaceholderAnnotation, 'New content');
-
addEventListener(type, fn [, options])
-
Add a handler to the given event name
Parameters:
Name Type Argument Description type
string | number The name of the event to listen to fn
function The handler to be called when the event is triggered options
object <optional>
Optional options object for addEventListener Properties
Name Type Description once
boolean If true then the handler will be called only once Returns:
Returns the object that 'addEventListener' is being called on- Type
- object
Example
Core.ContentEdit.addEventListener('textContentUpdated', (originalText, updatedText, boundingBoxCoordinates) => { ... });
-
removeEventListener( [type] [, fn])
-
Remove a handler of the given event name and namespace (if given) or with a function reference
Parameters:
Name Type Argument Description type
string | number <optional>
The name of the event to remove the handler of with an optional namespace. fn
function <optional>
The handler associated with this event to be removed. If fn is undefined, all the handlers of the given event namespace will be removed If you are not passing in this parameter then a namespace must be used with the event name. Returns:
Returns the object that 'removeEventListener' is being called on- Type
- object
Example
Core.ContentEdit.removeEventListener('textContentUpdated.namespace'); Core.ContentEdit.removeEventListener('textContentUpdated', fn);
-
trigger(type [, data])
-
Calls the handlers of the event name with given data
Parameters:
Name Type Argument Description type
string | number event name of which the handlers will be called. data
* <optional>
data that will be passed to the handlers. If data is an array, it will be spread and then passed to the handlers Returns:
Returns the object that 'trigger' is being called on- Type
- object
Example
Core.ContentEdit.trigger('textContentUpdated', originalText, updatedText, boundingBoxCoordinates);
Type Definitions
-
SpanObject
-
Properties:
Name Type Argument Description text
string The text content of the span. paragraphIndex
number The index of the paragraph this span belongs to. fontFamily
string <optional>
The font family of the text. fontWeight
string <optional>
The font weight of the text. fontSize
string <optional>
The font size of the text. fontStyle
string <optional>
The font style of the text. color
string <optional>
The color of the text. align
string <optional>
The text alignment. leadingMode
string <optional>
The line height or leading mode of the text. startIndent
string <optional>
The text indent. underlineStart
number <optional>
The start position of the underline if applicable. underlineEnd
number <optional>
The end position of the underline if applicable. -
TextDetails
-
Properties:
Name Type Description xmlString
string The text details presented in XML string. spanObjects
Core.ContentEdit.SpanObject The text details presented in an array of SpanObjects.
Events
-
editBoxesAvailable
-
Triggered any time edit boxes are drawn on the page.
Parameters:
Name Type Description boxes
object An array of Content Edit boxes. -
textContentUpdated
-
Triggered when text content of the page is updated.
Parameters:
Name Type Description originalText
string The original text of the selected bounding box. updatedText
string The updated text of the selected bounding box. boundingBoxCoordinates
Core.Math.Rect The coordinates (top, left, bottom, right) of the bounding box. -
undoRedoStatusChanged
-
Triggers when the undo redo status is changed. Can be used together with contentEditHistoryManager.undo or contentEditHistoryManager.redo
Example
Core.ContentEdit.addEventListener('undoRedoStatusChanged', () => { console.log('can undo?', contentEditHistoryManager.canUndo()) console.log('can redo?', contentEditHistoryManager.canRedo()) });