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
The ImageStampAnnotation 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:
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
The StrikethroughAnnotation object.
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
The TextHyperlinkAnnotation object.
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
The TextSelectionRedaction object.
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
The TransparentRectangleRedaction 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. |
- 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. |
