PrizmDoc® v14.4 Release - Updated April 1, 2025
PrizmDoc / API Reference / Viewer Control / Namespace: MarkSchema
Namespace: MarkSchema

MarkSchema

The following data structures will be used for serializing and deserializing marks into a JSON format. This documentation represents the Object Schema for all marks. To ease these, properties that are present in each mark are documented under the name Mark, and properties related to each individual mark are documented using that mark's type.

Some other generic types relevant to all, or multiple, marks are documented as PageData, Comment, Conversation, Rectangle, Point, and LineGroup.

Type Definitions

EllipseAnnotation

The EllipseAnnotation object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

borderColor : String

A 6-character hexadecimal color string, including the # sign.

borderThickness : Number

The thickness of the border in pixels.

fillColor : String

A 6-character hexadecimal color string, including the # sign.

opacity : Number

The opacity of the mark, from 0 to 255.

Implements:

FreehandAnnotation

The FreehandAnnotation object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

color : String

A 6-character hexadecimal color string, including the # sign.

opacity : Number

The opacity of the mark, from 0 to 255.

path : String

An SVG-style path, using M, L, and C commands.

thickness : Number

The thickness of the border in pixels.

Implements:

FreehandSignature

The FreehandSignature object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

color : String

A 6-character hexadecimal color string, including the # sign.

horizontalAlignment : String

A value from PCCViewer.Mark.HorizontalAlignment.

path : String

An SVG-style path, using M, L, and C commands.

thickness : Number

The thickness of the border in pixels.

Implements:

HighlightAnnotation

The HighlightAnnotation object.

Type:

Properties:

Name Description
fillColor : String

A 6-character hexadecimal color string, including the # sign.

startIndex : Number

The character index of the start of the selection.

selectedText : String

The selected text.

textLength : Number

The length of the selected text.

lineGroups : Array.<MarkSchema~LineGroup>

The individual line rectangles that make up the selection.

Implements:

ImageStampAnnotation

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

imageDataUrl : String.<base64>

The base64 encoded image data.

imageId : String

The ID associated with the image.

Implements:

ImageStampRedaction

The ImageStampRedaction object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

imageDataUrl : String.<base64>

The base64 encoded image data.

imageId : String

The ID associated with the image.

Implements:

LineAnnotation

The LineAnnotation object.

Type:

Properties:

Name Description
pageData : MarkSchema~PageData

The size of the page that the mark is on.

endPoint : MarkSchema~Point

The end of the line.

startPoint : MarkSchema~Point

The start of the line.

color : String

A 6-character hexadecimal color string, including the # sign.

endHeadType : String

A value from PCCViewer.Mark.LineHeadType.

opacity : Number

The opacity of the mark, from 0 to 255.

thickness : Number

The thickness of the line in pixels.

Implements:

PolylineAnnotation

The PolylineAnnotation object.

Type:

Properties:

Name Description
pageData : MarkSchema~PageData

The size of the page that the mark is on.

points : Array.<MarkSchema~Point>

The array of points making up the line.

color : String

A 6-character hexadecimal color string, including the # sign.

opacity : Number

The opacity of the mark, from 0 to 255.

thickness : Number

The thickness of the line in pixels.

Implements:

RectangleAnnotation

The RectangleAnnotation object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

borderColor : String

A 6-character hexadecimal color string, including the # sign.

borderThickness : Number

The thickness of the border in pixels.

fillColor : String

A 6-character hexadecimal color string, including the # sign.

opacity : Number

The opacity of the mark, from 0 to 255.

Implements:

RectangleRedaction

The RectangleRedaction object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

borderColor : String

A 6-character hexadecimal color string, including the # sign.

borderThickness : Number

The thickness of the border in pixels.

fillColor : String

A 6-character hexadecimal color string, including the # sign.

fontColor : String

A 6-character hexadecimal color string, including the # sign.

reason : String

The redaction reason for this redaction mark.

reasons : Array.<String>

The redaction reasons for this redaction mark.

Implements:

StampAnnotation

The StampAnnotation object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

color : String

A 6-character hexadecimal color string, including the # sign.

label : String

The text to display inside the stamp.

Implements:

StampRedaction

The StampRedaction object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

label : String

The text to display inside the stamp.

Implements:

StrikethroughAnnotation

Type:

Properties:

Name Description
color : String

A 6-character hexadecimal color string, including the # sign.

thickness : Number

The thickness of the line in pixels.

textLength : Number

The length of the selected text.

startIndex : Number

The character index of the start of the selection.

selectedText : String

The selected text.

lineGroups : Array.<MarkSchema~LineGroup>

The individual line rectangles that make up the selection.

Implements:

TextAnnotation

The TextAnnotation object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

borderColor : String

A 6-character hexadecimal color string, including the # sign.

borderThickness : Number

The thickness of the border in pixels.

fillColor : String

A 6-character hexadecimal color string, including the # sign.

fontColor : String

A 6-character hexadecimal color string, including the # sign.

fontName : String

The name of the font to use for the mark.

fontSize : Number

The size of the font, in pixels.

fontStyle : Array.<String>

An array of values any from PCCViewer.Mark.FontStyles.

maxLength : Number

The maximum number of characters allowed.

horizontalAlignment : String

A value from PCCViewer.Mark.HorizontalAlignment.

text : String

The text of the mark.

opacity : Number

The opacity of the mark, from 0 to 255.

Implements:

TextAreaSignature

The TextAreaSignature object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

fontColor : String

A 6-character hexadecimal color string, including the # sign.

fontName : String

The name of the font to use for the mark.

fontStyle : Array.<String>

An array of values any from PCCViewer.Mark.FontStyles.

horizontalAlignment : String

A value from PCCViewer.Mark.HorizontalAlignment.

maxFontSize : Number

The maximum size of the font, in pixels.

maxLength : Number

The maximum number of characters allowed.

text : String

The text of the mark.

Implements:

TextHyperlinkAnnotation

Type:

Properties:

Name Description
fillColor : String

A 6-character hexadecimal color string, including the # sign.

textLength : Number

The length of the selected text.

startIndex : Number

The character index of the start of the selection.

selectedText : String

The selected text.

lineGroups : Array.<MarkSchema~LineGroup>

The individual line rectangles that make up the selection.

href : String

The URL that the link points to.

Implements:

TextInputSignature

The TextInputSignature object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

mask : MarkSchema~Mask

An input mask that will be displayed in the mark to assist the user from inputting undesirable characters.

fontColor : String

A 6-character hexadecimal color string, including the # sign.

fontName : String

The name of the font to use for the mark.

maxLength : Number

The maximum number of characters allowed.

text : String

The text of the mark.

horizontalAlignment : String

A value from PCCViewer.Mark.HorizontalAlignment.

Implements:

TextRedaction

The TextRedaction object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

fontColor : String

A 6-character hexadecimal color string, including the # sign.

fontName : String

The name of the font to use for the mark.

fontSize : Number

The size of the font, in pixels.

maxLength : Number

The maximum number of characters allowed.

horizontalAlignment : String

A value from PCCViewer.Mark.HorizontalAlignment.

text : String

The text of the mark.

Implements:

TextSelectionRedaction

Type:

Properties:

Name Description
lineGroups : Array.<MarkSchema~LineGroup>

The individual line rectangles that make up the selection.

reason : String

The redaction reason for this redaction mark.

reasons : Array.<String>

The redaction reasons for this redaction mark.

selectedText : String

The selected text.

startIndex : Number

The character index of the start of the selection.

textLength : Number

The length of the selected text.

Implements:

TextSignature

The TextSignature object.

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

color : String

A 6-character hexadecimal color string, including the # sign.

fontName : String

The name of the font to use for the mark.

horizontalAlignment : String

A value from PCCViewer.Mark.HorizontalAlignment.

text : String

The text of the mark.

Implements:

TransparentRectangleRedaction

Type:

Properties:

Name Description
rectangle : MarkSchema~Rectangle

The position of the mark on the page.

pageData : MarkSchema~PageData

The size of the page that the mark is on.

Implements:

Comment

A mark comment.

Type:

  • Object

Properties:

Name Description
data : Object.<key, string>

A property bag of user-defined values.

creationDateTime : String

An ISO string of the created time.

text : String

The text of the comment.

Conversation

A collection of comments related to a mark.

Type:

  • Object

Properties:

Name Description
comments : Array.<MarkSchema~Comment>

The comments associated with the conversation.

data : Object.<key, string>

A property bag of user-defined values.

LineGroup

A collection of line groups.

Type:

  • Object

Properties:

Name Description
pageNumber : Number

The page number of the line group.

pageData : MarkSchema~PageData

The page size of the page where that particular line group appears.

startIndex : Number

The character index of the start of this group.

length : Number

The length of characters in this group.

lines : Array.<MarkSchema~Rectangle>

One or more rectangles that appear on the page, as part of the selection.

Mark

All marks will have the following properties.

Properties:

Name Description
uid : String

A global unique ID for this mark, to identify it across the system.

type : String

A value from PCCViewer.Mark.Type denoting the mark type.

pageNumber : Number

The page that the mark is located on.

creationDateTime : String

An ISO string of the created time.

modificationDateTime : String

An ISO string of the last modified time.

interactionMode : String

A value from PCCViewer.Mark.InteractionMode.

data : Object.<string, string>

A property bag of user-defined values.

conversation : MarkSchema~Conversation

The conversation object.

Mask

An object defining the mask for this mark.

Type:

  • Object

Properties:

Name Description
value : String

The string representation of the mask. The user input will look like this string once they have finished their input. Each character in this string that does not have a translation will be represented to the user literally.

translations : Object

The translations to use for the given mask value. The key represents a character present in the mask value, and the value is a regular expression which validates the acceptable user input for that character.

PageData

An object providing metadata about the page at the time that the mark was saved.

Type:

  • Object

Properties:

Name Description
width : Number

The width of the page at the time the mark was saved.

height : Number

The height of the page at the time the mark was saved.

Point

A point, defining the coordinates from the top-left of the page in pixels.

Type:

  • Object

Properties:

Name Description
x : Number

The distance from the left edge of the page.

y : Number

The distance from the top edge of the page.

Rectangle

A rectangle or bounding rectangle, defining the top-left corner relative to the top-left of the page, as well as the width and height, in pixels.

Type:

  • Object

Properties:

Name Description
x : Number

The left side of the rectangle, relative to the left page edge.

y : Number

The top of the rectangle, relative to the top page edge.

width : Number

The width of the bounding rectangle.

height : Number

The height of the bounding rectangle.


Documentation generated by JSDoc 3.6.10 on Fri Mar 21 2025 20:37:34 GMT+0000 (Coordinated Universal Time)