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. |