Namespace: ContentEdit

Core. ContentEdit

The namespace for APIs dealing with document content editing

Extends

Classes

ContentBox
ContentBoxEditor

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())
});