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 | Type | 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 | Type | 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 | Type | 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. |
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 | Type | 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. |
- Implements:
ImageStampAnnotation
The ImageStampAnnotation object.
Type:
Properties:
Name | Type | 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 | Type | 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 | Type | 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 | Type | 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 | Type | 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 | Type | 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. |
reason |
String |
The redaction reason for this redaction mark. |
- Implements:
StampAnnotation
The StampAnnotation object.
Type:
Properties:
Name | Type | 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 | Type | 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:
StrikethroughAnnotation
The StrikethroughAnnotation object.
Type:
Properties:
Name | Type | 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 | Type | 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. |
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:
TextHyperlinkAnnotation
The TextHyperlinkAnnotation object.
Type:
Properties:
Name | Type | Description |
---|---|---|
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 | Type | 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. |
text |
String |
The text of the mark. |
- Implements:
TextRedaction
The TextRedaction object.
Type:
Properties:
Name | Type | 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. |
text |
String |
The text of the mark. |
- Implements:
TextSelectionRedaction
The TextSelectionRedaction object.
Type:
Properties:
Name | Type | Description |
---|---|---|
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. |
reason |
String |
The redaction reason for this redaction mark. |
- Implements:
TextSignature
The TextSignature object.
Type:
Properties:
Name | Type | 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. |
text |
String |
The text of the mark. |
- Implements:
TransparentRectangleRedaction
The TransparentRectangleRedaction object.
Type:
Properties:
Name | Type | 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 | Type | 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 | Type | 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 | Type | 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 | Type | 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 | Type | 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 | Type | 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 | Type | 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 | Type | 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. |