Prizm Content Connect
Class: Mark

Class: Mark

PCCViewer. Mark

The PCCViewer.Mark object represents an annotation or redaction. (We use the term "mark" as a generic term for annotations and redactions.)

Marks Drawn on the Document

Typically a Mark object represents a mark that is drawn on the document. In the case that a Mark object represents, a mark drawn on the document, then setting properties of the Mark object will cause the appearance of the mark on the document to be updated.

To add a new mark to a document, use the method PCCViewer.ViewerControl#addMark.

Mark Properties

All marks have the following read-only properties that are set when the API creates the Mark object.

  • .getID() and .id
  • .getType() and .type
  • .getPageNumber() and .pageNumber

A Mark object can also have a number of writable properties, which are define on the object depending on the mark type.

For example, a Mark object with type LineAnnotation will have a property .startPoint, accessible through .getStartPoint() and .setStartPoint(...), but a Mark object with the type RectangleAnnotation will not have the property .startPoint. Or, a Mark object with the type StampAnnotation will have a property .color, accessible through .getColor() and .setColor(...), and a LineAnnotation Mark object also has the property .color.

The full list of Mark properties is listed below. The documentation lists what properties are on what mark types, and vice versa.

To programatically determine if a mark has a property, use the JavaScript in operator. Or use the ! operator if you are referencing the property's getter or setter method. Examples are shown below.

!!myMarkObject.getStartPoint; // true if the startPoint property was added to the Mark object
//Note: this option will only be available in ECMAScript 5 comaptible browsers
'startPoint' in myMarkObject; // true if the startPoint property was added to the Mark object
Template Marks

A Mark object can also act as a template for mouse tools that create marks. For example, a LineAnnotation mouse tool will have a "template mark" that is used as a template for any mark created by the mouse tool. Setting the color of the template mark to yellow will cause all marks created by the mouse tool to be yellow.

The template mark is accessible via the method PCCViewer.MouseTool#getTemplateMark.

new Mark(parameters)

NOTE: this constructor is for internal use only.

To programmatically add a Mark (an annotation or redaction) to a document, use PCCViewer.ViewerControl#addMark.

Parameters:
Name Type Description
parameters Object

The parameters object takes the following properties:

  • type {string} [required] Mark Type PCCViewer.Mark.Type
  • pageNumber {number} [optional] Page Number on which the Mark is located . If this property is not specified, the page number will default to the current page.
See:
Example
var viewerControl = new PCCViewer.ViewerControl(...);

// use PCCViewer.ViewerControl#addMark(pageNumer, markType) to create 
// and add a mark instead of new Mark()
viewerControl.addMark(1, "LineAnnotation");

Members

<static, readonly> FontStyles :string

The PCCViewer.Mark.FontStyles enumeration defines Font Styles known to the ViewerControl.

Note: This enumeration is for convenience for API developers. Instead of using this enumeration, you may pass string values of the FontStyles (enumeration values).

Type:
  • string
Properties:
Name Type Default Description
Bold string Bold

Specifies that the text should be bold.

Italic string Italic

Specifies that the text should be italic.

Strikeout string Strikeout

Specifies that the text should be struck out.

Underline string Underline

Specifies that the text should be underlined.

See:
Example
// use the enumeration to make text Bold
mark.setFontStyle([PCCViewer.Mark.FontStyles.Bold]);

// or just use the string value. Note: The parameter should be an array of styles required.
mark.setFontStyle(["Bold"]);

<static, readonly> HorizontalAlignment :string

The PCCViewer.Mark.HorizontalAlignment enumeration defines horizontal alignment known to the ViewerControl.

Note: This enumeration is for convenience for API developers. Instead of using this enumeration, you may pass string values of the HorizontalAlignment (enumeration values).

Type:
  • string
Properties:
Name Type Default Description
Center string Center

Specifies that the text should be centered horizontally.

Left string Left

Specifies that the text should be left-justified.

Right string Right

Specifies that the text should be right-justified.

Example
// use the enumeration to make text centered
mark.setHorizontalAlignment(PCCViewer.Mark.HorizontalAlignment.Center);

// or just use the string value
mark.setHorizontalAlignment("Center");

<static, readonly> LineHeadType :string

The PCCViewer.Mark.LineHeadType enumeration defines Mark LineHeadTypes known to the ViewerControl.

Note: This enumeration is for convenience for API developers. Instead of using this enumeration, you may pass string values of the LineHeadType (enumeration values).

Type:
  • string
Properties:
Name Type Default Description
None string None

No line head.

FilledTriangle string FilledTriangle

A filled triangle line head. Note: this makes the line an arrow. :)

Example
// use the enumeration to make a line an arrow
myLineAnnotation.setEndHeadType(PCCViewer.Mark.LineHeadType.FilledTriangle);

// or just use the string value
myLineAnnotation.setEndHeadType("FilledTriangle");

<static, readonly> Type :string

The PCCViewer.Mark.Type enumeration defines Mark Types known to the ViewerControl.

Note: This enumeration is for convenience for API developers. Instead of using this enumeration, you may pass string values of the Type (enumeration values).

Type:
  • string
Properties:
Name Type Default Description
LineAnnotation string LineAnnotation

This mark is drawn as a line on the document. A head can be added to the end of the line to make the line an arrow.

The properties specific for this are: color, thickness, opacity, startPoint, endPoint, endHeadType.

RectangleAnnotation string RectangleAnnotation

This mark is drawn as a rectangle on the document.

The properties specific for this are: fillColor, opacity, borderColor, borderThickness, rectangle.

EllipseAnnotation string EllipseAnnotation

This mark is drawn as an ellipse on the document.

The properties specific for this are: fillColor, opacity, borderColor, borderThickness, rectangle.

TextAnnotation string TextAnnotation

This mark is drawn as text on the document. The text has a background and border.

The properties specific for this are: text, fontColor, fillColor, opacity, borderColor, borderThickness, fontName, fontSize, fontStyle, horizontalAlignment, rectangle.

StampAnnotation string StampAnnotation

This mark is drawn as a stamp on the document. A stamp has a label (text) and a border.

The properties specific for this are: color, label, rectangle.

HighlightAnnotation string HighlightAnnotation

This mark is drawn as a text highlight on the document.

The properties specific for this are: fillColor.

RectangleRedaction string RectangleRedaction

This mark is drawn as a rectangle on the document.

The properties specific for this are: rectangle.

TransparentRectangleRedaction string TransparentRectangleRedaction

This mark is drawn as a transparent rectangle on the document. The color is always yellow and the opacity is always 50% (127/255).

The properties specific for this are: rectangle.

TextRedaction string TextRedaction

This mark is drawn as a rectangle on the document. This redaction can be burned into the document.

The properties specific for this are: text, fontColor, fontName, fontSize, fontStyle, rectangle.

StampRedaction string StampRedaction

This mark is drawn as a stamp on the document. This redaction can be burned into the document.

The properties specific for this are: label, rectangle.

FreehandAnnotation string FreehandAnnotation

This mark is drawn as a freehand line on the document.

The properties specific for this are: path, rectangle, color, thickness, opacity.

FreehandSignature string FreehandSignature

This mark is drawn as a signature on the document and is confined to a rectangle.

The properties specific for this are: path, rectangle, color, thickness.

TextSignature string TextSignature

This mark is drawn as a text signature on the document and is confined to a rectangle.

The properties specific for this are: text, rectangle, color, fontName.

TextSelectionRedaction string TextSelectionRedaction

This mark is drawn as a text highlight redaction on the document.

The properties specific for this are: none.

Example
// use the enumeration to make a line annotation
myViewerControl.addMark(1, PCCViewer.Mark.Type.LineAnnotation);

// or just use the string value
myViewerControl.addMark(1, "LineAnnotation");

borderColor :string

Gets or sets the border color of the Mark.

This property is defined on marks of type: RectangleRedaction, EllipseAnnotation, TextAnnotation.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
if ('borderColor' in mark) {
    var oldValue = mark.borderColor;
    mark.borderColor = "#FF0000"; // set border color to red
}

borderThickness :number

Gets or sets the border thickness of the Mark.

This property is defined on marks of type: RectangleAnnotation, EllipseAnnotation, TextAnnotation.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • number
See:
Example
if ('borderThickness' in mark) {
    var oldValue = mark.borderThickness;
    mark.borderThickness = 3; // set the border thickness of the mark
}

color :string

Gets or sets the color of the Mark.

This property is defined on marks of type: LineAnnotation, StampAnnotation, FreehandAnnotation, FreehandSignature, TextSignature.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
if ('color' in mark) {
    var oldValue = mark.color;
    mark.color = "#FF0000"; // set color to red
}

<readonly> conversation :string

Gets the conversation associated with the Mark.

This property is defined on all Mark objects.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
var conversation = mark.conversation;

endHeadType :string

Gets or sets the end head type of the Mark.

The value of end head type determines if the line looks like an arrow or a plain line.

This property is defined on marks of type: LineAnnotation.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
if ('endHeadType' in mark) {
    var oldValue = mark.endHeadType;

    // set the head to be a filled triangle, so the line looks like an arrow
    mark.endHeadType = "FilledTriangle";
}

endPoint :Object

Gets or sets the end point coordinates of the line Mark.

This property is defined on marks of type: LineAnnotation.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • Object
See:
Example
if ('endPoint' in mark) {
    var oldValue = mark.endPoint;
    mark.endPoint = {x: 100, y: 100}; // set the start point to (100, 100)
}

fillColor :string

Gets or sets the fill color of the Mark.

This property is defined on marks of type: RectangleAnnotation, EllipseAnnotation, TextAnnotation.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
if ('fillColor' in mark) {
    var oldValue = mark.fillColor;
    mark.fillColor = "#FF0000"; // set color to red
}

fontColor :string

Gets or sets the font color of the text in the Mark.

This property is defined on marks of type: TextRedaction, TextRedaction.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
if ('fontColor' in mark) {
    var oldValue = mark.fontColor;
    mark.fontColor = "#ffccbb";
}

fontName :string

Gets or sets the font name of the text in the Text Mark.

This property is defined on marks of type: TextAnnotation, TextRedaction, TextSignature.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
if ('fontName' in mark) {
    var oldValue = mark.fontName;
    mark.fontName = "Aerial";
}

fontSize :number

Gets or sets the font size (in points) for the text in the Text Mark.

This property is defined on marks of type: TextAnnotation, TextRedaction.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • number
See:
Example
if ('fontSize' in mark) {
    var oldValue = mark.fontSize;
    mark.fontSize = 12;
}

fontStyle :Array.<string>

Gets or sets the font Style of the text in the TextAnnotation mark.

This property is defined on marks of type: TextRedaction.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • Array.<string>
See:
Example
if ('fontStyle' in mark) {
    var oldValue = mark.fontStyle;
    mark.fontStyle = ["Bold",Underline,Italic];
}

horizontalAlignment :string

Gets or sets the text horizontal alignment of the text in the Text Mark.

This property is defined on marks of type: TextAnnotation.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
if ('horizontalAlignment' in mark) {
    var oldValue = mark.horizontalAlignment;
    mark.horizontalAlignment = "left";
}

<readonly> id :string

Gets the ID of the Mark.

This property is defined on all Mark objects.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
var id = mark.id;

label :string

Gets or sets the text in the Stamp Mark.

This property is defined on marks of type: StampAnnotation, StampRedaction.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
if ('label' in mark) {
    var oldValue = mark.label;
    mark.label = "Approved";
}

opacity :number

Gets or sets the opacity of the Mark. This value is a number between 0 and 255.

This property is defined on marks of type: LineAnnotation, RectangleAnnotation, EllipseAnnotation, TextAnnotation.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • number
See:
Example
if ('opacity' in mark) {
    var oldValue = mark.opacity;
    mark.opacity = 127; // set the opacity so that the mark is transparent
}

<readonly> pageNumber :number

Gets the page number of the page that the Mark is on.

This property is defined on all Mark objects.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • number
See:
Example
var pageNumber = mark.pageNumber;

path :string

Gets or sets the path data of FreehandSignature and FreehandAnnotation.

This property is defined on marks of type: FreehandSignature, FreehandAnnotation.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
if ('path' in mark) {
    var oldValue = mark.path;
    mark.path = "M0,0L1,1L1,0";
}

reason :string

Gets or sets the reason in the Mark.

This property is defined on marks of type: RectangleRedaction, TextSelectionRedaction.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
if ('reason' in mark) {
    var oldValue = mark.reason;
    mark.reason = "Information for top security clearance only.";
}

rectangle :Object

Gets or sets the bounding rectangle of the Mark.

This property is defined on marks of type: RectangleAnnotation, EllipseAnnotation, TextAnnotation, StampAnnotation, RectangleRedaction, TextRedaction, StampRedaction, FreehandAnnotation, FreehandSignature, TextSignature.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • Object
See:
Example
if ('rectangle' in mark) {
    var oldValue = mark.rectangle;
    mark.rectangle = {x: 0, y: 0, width: 100, height: 100};
}

signature :string

Note: This property is defined on the template mark of the PlaceSignature mouse tool, and is not available on any mark.

Gets or sets the template signature.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:

startPoint :Object

Gets or sets the start point coordinates of the line Mark.

This property is defined on marks of type: LineAnnotation.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • Object
See:
Example
if ('startPoint' in mark) {
    var oldValue = mark.startPoint;
    mark.startPoint = {x: 1, y: 1}; // set the start point to (1, 1)
}

text :string

Gets or sets the text in the Mark.

This property is defined on marks of type: TextAnnotation, TextRedaction, TextSignature.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
if ('text' in mark) {
    var oldValue = mark.text;
    mark.text = "This is a Test";
}

thickness :number

Gets or sets the thickness of the Mark.

This property is defined on marks of type: LineAnnotation, FreehandAnnotation, FreehandSignature.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • number
See:
Example
if ('thickness' in mark) {
    var oldValue = mark.thickness;
    mark.thickness = 3; // set the thickness of the mark
}

<readonly> type :string

Gets the type of the Mark.

This property is defined on all Mark objects.

This is an ECMA 5 accessor property that is defined only in browsers supporting ECMA 5. This property is not available in the older browsers like IE8. For the greatest browser compatibility, use the corresponding getter and setter methods.

Type:
  • string
See:
Example
switch (mark.type) {
    case PCCViewer.Mark.Type.LineAnnotation:
        ...
        break;
    default:
        ...
}

Methods

getBorderColor() → {string}

Gets the border color of the Mark.

This property is defined on marks of type: RectangleRedaction, EllipseAnnotation, TextAnnotation.

See:
Returns:

The border color of the Mark as a hexadecimal string.

Type
string
Example
if (mark.getBorderColor) {
    var borderColor = mark.getBorderColor();
}

getBorderThickness() → {number}

Gets the border thickness of the mark.

This property is defined on marks of type: RectangleAnnotation, EllipseAnnotation, TextAnnotation.

See:
Returns:

The border thickness of the mark.

Type
number
Example
if (mark.getBorderThickness) {
    var borderThickness = mark.getBorderThickness();
}

getColor() → {string}

Gets the color of the Mark.

This method is defined on marks of type: LineAnnotation, StampAnnotation, FreehandAnnotation, FreehandSignature, TextSignature.

See:
Returns:

The color of the Mark as a hexadecimal string.

Type
string
Example
if (mark.getColor) {
    var color = mark.getColor();
}

getConversation() → {PCCViewer.Conversation}

Gets the conversation associated with the Mark.

This method is defined on all Mark objects.

Returns:

The conversation associated with this Mark.

Type
PCCViewer.Conversation

getData(key) → {string|object}

Gets the data value for the given key, or gets a hash containing all key values, if a key was not provided.

This method is defined on all Mark objects.

Note: If a hash is returned, this will be a new object each time it is called. Adding new properties to the returned hash will not add data to the Mark.

Note: The returned data is not mutated or sanitized, which could lead to a security vulnerability if not sanitized properly before use.

Parameters:
Name Type Description
key string

The key for which to get the data value.

See:
Throws:

If the key argument is null or otherwise not a string.

Type
Error
Returns:
  • If a key argument was provided, it returns the associated value.
  • If a key argument was provided, but a value has not been associated with the key, then it returns undefined.
  • If a key was not provided, it returns a hash object containing all key-value pairs.
Type
string | object
Example
var mark = viewerControl.addMark(1, "RectangleRedaction");

// The key "Author" is set the value "Mark".
mark.setData("Author", "Mark");

// The key "Note" is set the value "This is really important!".
mark.setData("Note", "This is really important!");

mark.getData("Author"); // returns "Mark"
mark.getData();         // returns {"Author":"Mark", "Note":"This is really important!"}
mark.getData("FooBar"); // returns undefined

getDataKeys() → {Array.<string>}

Gets an array of data keys known to this Mark.

This method is defined on all Mark objects.

See:
Returns:

Returns an array of data keys known to this Mark. If no data is stored, then an empty array will be returned.

Type
Array.<string>
Example
var mark = viewerControl.addMark(1, "RectangleRedaction");

// Returns an empty array before KVPs are stored.
mark.getDataKeys(); // returns []

// Returns a list of all keys.
mark.setData("Author", "Mark");
mark.setData("Note", "This is really important!");
mark.getDataKeys(); // returns ["Author", "Note"]

getEndHeadType() → {string|PCCViewer.Mark.LineHeadType}

Gets the line Mark end head type.

This method is defined on marks of type: LineAnnotation.

See:
Returns:

A line head type enum value.

Type
string | PCCViewer.Mark.LineHeadType
Example
if (mark.getEndHeadType) {
    var endHeadType = mark.getEndHeadType();
}

getEndPoint() → {Object}

Gets the end point coordinates of the line Mark.

This method is defined on marks of type: LineAnnotation.

See:
Returns:

A point object of the type {x: xvalue, y: yvalue}

Type
Object
Example
if (mark.getEndPoint) {
    var endPoint = mark.getEndPoint();
}

getFillColor() → {string}

Gets the fill color of the Mark.

This method is defined on marks of type: RectangleAnnotation, EllipseAnnotation, TextAnnotation.

See:
Returns:

The fill color of the Mark as a hexadecimal string.

Type
string
Example
if (mark.getFillColor) {
    var fillColor = mark.getFillColor();
}

getFontColor() → {string}

Gets the font color of the text contained in the Text Mark.

This method is defined on marks of type: TextAnnotation, TextRedaction.

See:
Returns:

The text contained in the Text mark.

Type
string
Example
if (mark.getFontColor) {
    var text = mark.getFontColor();
}

getFontName() → {string}

Gets the font color of the text contained in the Mark.

This method is defined on marks of type: TextAnnotation, TextRedaction, TextSignature.

See:
Returns:

The text contained in the Text mark.

Type
string
Example
if (mark.getFontName) {
    var text = mark.getFontName();
}

getFontSize() → {number}

Gets the font size (in points) of the text in the Mark.

This method is defined on marks of type: TextAnnotation, TextRedaction.

See:
Returns:

The font size of the text in the text mark.

Type
number
Example
if (mark.getFontSize) {
    var fontSize = mark.getFontSize();
}

getFontStyle() → {Array.<string>}

Gets an array of font styles of the text contained in the TextAnnotation mark.

This method is defined on marks of type: TextAnnotation.

See:
Returns:

An array containing the font styles of text contained in the Text mark.

Type
Array.<string>
Example
if (mark.getFontStyle) {
    var fontStyleArray = mark.getFontStyle();
}

getHorizontalAlignment() → {string}

Gets the horizontalAlignment of the text contained in the Text Mark.

This method is defined on marks of type: TextAnnotation.

See:
Returns:

A string containing horizontalAlignment contained in the Text mark.

Type
string
Example
if (mark.getHorizontalAlignment) {
    var horizontalAlignment = mark.getHorizontalAlignment();
}

getId() → {string}

Gets the ID of the Mark.

This method is defined on all Mark objects.

See:
Returns:

The ID of the Mark.

Type
string
Example
var markId = mark.getId();

getLabel() → {string}

Gets the text string contained in the Stamp Mark.

This method is defined on marks of type: StampAnnotation, StampRedaction.

See:
Returns:

The text string in the Stamp mark.

Type
string
Example
if (mark.getLabel) {
    var label = mark.getLabel();
}

getOpacity() → {number}

Gets the opacity of the Mark. This value is a number between 0 and 255.

This method is defined on marks of type: LineAnnotation, RectangleAnnotation, EllipseAnnotation, TextAnnotation.

See:
Returns:

The opacity of the line.

Type
number
Example
if (mark.getOpacity) {
    var opacity = mark.getOpacity();
}

getPageNumber() → {number}

Gets the page number where the Mark object is located.

This method is defined on all Mark objects.

See:
Returns:

The page number where the Mark is located.

Type
number
Example
var pageNumber = mark.getPageNumber();

getPath() → {string}

Gets the path data for FreehandSignature and FreehandAnnotation.

This method is defined on marks of type: FreehandSignature, FreehandAnnotation.

See:
Returns:

The path data string.

Type
string
Example
if (mark.getPath) {
    var path = mark.getPath();
}

getReason() → {string}

Gets the reason contained in the Redaction Mark.

This method is defined on marks of type: RectangleRedaction, TextSelectionRedaction.

See:
Returns:

The reason contained in the Redaction mark.

Type
string
Example
if (mark.getReason) {
    var reason = mark.getReason();
}

getRectangle() → {Object}

Gets the bounding rectangle for the Mark.

This method is defined on marks of type: RectangleAnnotation, EllipseAnnotation, TextAnnotation, StampAnnotation, RectangleRedaction, TextRedaction, StampRedaction, FreehandAnnotation, FreehandSignature, TextSignature.

See:
Returns:

A rectangle object of the type {x: xValue, y: yValue, width: widthValue, height: heightValue}.

Type
Object
Example
if (mark.getRectangle) {
    var boundingRectangle = mark.getRectangle();
}

getSignature() → {Object|undefined}

Note: This property is defined on the template mark of the PlaceSignature mouse tool, and is not available on any mark.

Gets the last signature object that was associated with the particular template mark.

See:
Returns:

The PlaceSignature object, or undefined. See PCCViewer.Signatures~FreehandSignature and PCCViewer.Signatures~TextSignature.

Type
Object | undefined
Example
// get the mouse tool
var accusoftPlaceSignature = PCCViewer.MouseTools.getMouseTool('AccusoftPlaceSignature');
// get the template mark
var signatureTemplateMark = accusoftPlaceSignature.getTemplateMark();
// get the signature associated with the template
var signature = signatureTemplateMark.getSignature();

getStartPoint() → {Object}

Gets the start point coordinates of the line Mark.

This method is defined on marks of type: LineAnnotation.

See:
Returns:

A point object of the type {x: xvalue, y: yvalue}

Type
Object
Example
if (mark.getStartPoint) {
    var startPoint = mark.getStartPoint();
}

getText() → {string}

Gets the text contained in the Text Mark.

This method is defined on marks of type: TextAnnotation, TextRedaction, TextSignature.

See:
Returns:

The text contained in the Text mark.

Type
string
Example
if (mark.getText) {
    var text = mark.getText();
}

getThickness() → {number}

Gets the thickness of the line.

This method is defined on marks of type: LineAnnotation, FreehandAnnotation, FreehandSignature.

See:
Returns:

The thickness of the line.

Type
number
Example
if (mark.getThickness) {
    var thickness = mark.getThickness();
}

getType() → {string}

Gets the type of the Mark type.

This method is defined on all Mark objects.

See:
Returns:

The type of Mark.

Type
string
Example
switch (mark.getType()) {
    case PCCViewer.Mark.Type.LineAnnotation:
        ...
        break;
    default:
        ...
}

setBorderColor(value) → {PCCViewer.Mark}

Sets the border color of the Mark.

This property is defined on marks of type: RectangleRedaction, EllipseAnnotation, TextAnnotation.

Parameters:
Name Type Description
value string

Hexadecimal string representing border color. This string must be prepended with '#' character.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setBorderColor) {
    mark.setBorderColor("#FF0000"); // set the border color to red
}

setBorderThickness(value) → {PCCViewer.Mark}

Sets the border thickness of the mark.

This property is defined on marks of type: RectangleAnnotation, EllipseAnnotation, TextAnnotation.

Parameters:
Name Type Description
value number

Border thickness of the mark.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setBorderThickness) {
    mark.setBorderThickness(3);
}

setColor(value) → {PCCViewer.Mark}

Sets the color of the Mark.

This method is defined on marks of type: LineAnnotation, StampAnnotation, FreehandAnnotation, FreehandSignature, TextSignature.

Parameters:
Name Type Description
value string

Hexadecimal string representing color. This string must be prepended with '#' character.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setColor) {
    mark.setColor("#FF0000"); // set the mark's color to red
}

setData(key, value) → {PCCViewer.Mark}

Sets the data value for the given key.

This method is defined on all Mark objects.

Notes:

  • Overwrites any data value already associated with the given key.
  • There is no artificial limit imposed on the number of key-value pairs that are stored.
  • If limits on the number of KVPs are required, they should be enforced by calling code.
  • Setting the value as undefined results in no information for the key being persisted to the server.
  • The returned data is not mutated or sanitized, which could lead to a security vulnerability if not sanitized properly before use.
Parameters:
Name Type Description
key string

The key for which to set the data value.

value string

This is the value to set for the key.

  • This must be a string or undefined.
  • The maximum length of the string is not limited by this function.
See:
Returns:

The Mark object on which the method was called.

Type
PCCViewer.Mark
Example
var mark = viewerControl.addMark(1, "RectangleRedaction");

// Get data returns undefined before the key is set.
mark.getData("Author"); // returns undefined

// The key "Author" is set the value "Mark".
mark.setData("Author", "Mark");
mark.getData("Author"); // returns "Mark"

// The key "Author" is overwritten with the value "Clark".
mark.setData("Author", "Clark");
mark.getData("Author"); // returns "Clark"

// The key "Author" is unset, by setting the value to undefined.
mark.setData("Author", undefined);
mark.getData("Author"); // returns undefined

// The value can only be set to a string or undefined.
// All other data types throw.
mark.setData("FooBar", null); // throws
mark.setData("FooBar", 1);    // throws
mark.setData("FooBar", true); // throws
mark.setData("FooBar", {});   // throws
mark.setData("FooBar", []);   // throws

setEndHeadType(value) → {PCCViewer.Mark}

Sets the line head type.

This method is defined on marks of type: LineAnnotation.

Parameters:
Name Type Description
value PCCViewer.Mark.LineHeadType

The line head type. For example, PCCViewer.Mark.LineHeadType.FilledRectangle can be specified to make the line appear as an arrow.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setEndHeadType) {
    // Put a triangle head on the end of the line to make it an arrow
    mark.setEndHeadType("FilledTriangle");
    // or use the enumeration to accomplish the same thing
    mark.setEndHeadType(PCCViewer.Mark.LineHeadType.FilledTriangle);
}

setEndPoint(value) → {PCCViewer.Mark}

Sets the end point coordinate of the line Mark.

This method is defined on marks of type: LineAnnotation.

Parameters:
Name Type Description
value Object

Start point coordinates of a line Mark. The parameter object must be of the following type: {x: xvalue, y: yvalue}

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setEndPoint) {
    mark.setEndPoint({x:100, y:100});
}

setFillColor(value) → {PCCViewer.Mark}

Sets the fill color of the Mark.

This method is defined on marks of type: RectangleAnnotation, EllipseAnnotation, TextAnnotation.

Parameters:
Name Type Description
value string

Hexadecimal string representing fill color. This string must be prepended with '#' character.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setFillColor) {
    mark.setFillColor("#FF0000"); // set the fill color to red
}

setFontColor(value) → {PCCViewer.Mark}

Sets the font color of the text in the Text Mark.

This method is defined on marks of type: TextAnnotation, TextRedaction.

Parameters:
Name Type Description
value string

A string value containing the hexadecimal color for the text of the text annotation.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setFontColor) {
    mark.setFontColor("#000000"); 
}

setFontName(value) → {PCCViewer.Mark}

Sets the font name of the text in the Text Mark.

This method is defined on marks of type: TextAnnotation, TextRedaction, TextSignature.

Parameters:
Name Type Description
value string

A string value containing the font name for the text in the text annotation.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setFontName) {
    mark.setFontName("Aerial"); 
}

setFontSize(value) → {PCCViewer.Mark}

Sets the font size (in points) for the text to use in the Mark.

Note: The API uses the resolution of the image to determine the size of a point so, for example, a line of 12 point text on a 300 DPI raster image will be 12 points / 72 point-per-inch * 300 pixels-per-inch = 50 pixels tall. The default value is 12 points.

This method is defined on marks of type: TextAnnotation, TextRedaction.

Parameters:
Name Type Description
value number

A number for the font size for the text in the text annotation.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setFontSize) {
    mark.setFontSize(12); 
}

setFontStyle(value) → {PCCViewer.Mark}

Sets the font styles provided in the parameter array of the text in the TextAnnotation mark.

This method is defined on marks of type: TextAnnotation.

Parameters:
Name Type Description
value Array.<string>

An array containing values containing the font styles for the text in the text annotation.

Valid values in the array are:

Note: An empty array would render the text with normal font style.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setFontStyle) {
    var fontStylesArray = ["Bold","Italic","Underline"];
    mark.setFontStyle(fontStylesArray); 
}

setHorizontalAlignment(value) → {PCCViewer.Mark}

Sets the horizontal alignment of the text in the Text Mark.

This method is defined on marks of type: TextAnnotation.

Parameters:
Name Type Description
value string

A string value containing the horizontal alignment for the text in the text annotation.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setHorizontalAlignment) {
    mark.setHorizontalAlignment("center"); 
}

setLabel(value) → {PCCViewer.Mark}

Sets the text string in the Stamp Mark.

This method is defined on marks of type: StampAnnotation, StampRedaction.

Parameters:
Name Type Description
value string

A string value containing the text in the Stamp annotation.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setLabel) {
    mark.setLabel("Approved"); 
}

setOpacity(value) → {PCCViewer.Mark}

Sets the opacity of the Mark. This value is a number between 0 and 255.

This method is defined on marks of type: LineAnnotation, RectangleAnnotation, EllipseAnnotation, TextAnnotation, FreehandAnnotation.

Parameters:
Name Type Description
value number

Opacity of the Mark. Acceptable values are in the range 0 to 255.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setOpacity) {
    mark.setOpacity(255); // fully opaque
    mark.setOpacity(127); // translucent
    mark.setOpacity(0);   // transparent
}

setPath(path) → {PCCViewer.Mark}

Sets the path data of FreehandSignature and FreehandAnnotation.

This method is defined on marks of type: FreehandSignature, FreehandAnnotation.

Parameters:
Name Type Description
path string

The path data string. This includes a subset of the SVG path standard, including the M, L, and C commands only.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setPath) {
    mark.setPath("M0,0L1,1L1,0"); 
}

setReason(value) → {PCCViewer.Mark}

Sets the reason in the Redaction Mark.

This method is defined on marks of type: RectangleRedaction, TextSelectionRedaction.

Parameters:
Name Type Description
value string

Redaction reason of the Mark. Acceptable values are any string.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setReason) {
    mark.setReason("Information for top security clearance only.");
}

setRectangle(value) → {PCCViewer.Mark}

Sets the bounding rectangle of the Mark.

This method is defined on marks of type: RectangleAnnotation, EllipseAnnotation, TextAnnotation, StampAnnotation, RectangleRedaction, TextRedaction, StampRedaction, FreehandAnnotation, FreehandSignature, TextSignature.

Parameters:
Name Type Description
value Object

Bounding rectangle of a Mark. The parameter object must be of the following type: {x: xValue, y: yValue, width: widthValue, height: heightValue}

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setRectangle) {
    mark.setRectangle({x:0, y:0, width:100, height:100});
}

setSignature(signature) → {PCCViewer.Mark}

Note: This property is defined on the template mark of the PlaceSignature mouse tool, and is not available on any mark.

Sets the signature data to use by the PlaceSignature mouse tool.

Parameters:
Name Type Description
signature Object | undefined

An object with properties that specify the signature data. Using undefined will reset the state of the mouse tool back to default.

See PCCViewer.Signatures~FreehandSignature and PCCViewer.Signatures~TextSignature

See:
Throws:
  • If signature is not an Object or undefined.

    Type
    Error
  • If the signature object does not have either a path or text string property.

    Type
    Error
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
// get the mouse tool
var accusoftPlaceSignature = PCCViewer.MouseTools.getMouseTool('AccusoftPlaceSignature');

// get the template mark
var signatureTemplateMark = accusoftPlaceSignature.getTemplateMark();

// set signature path for freehand signature
signatureTemplateMark.setSignature({path: "M0,0L100,0L100,100L0,100L0,0"});

// the same template can be reused for text signature
signatureTemplateMark.setSignature({ text: "Joe Smith", fontName: "Arial" });

setStartPoint(value) → {PCCViewer.Mark}

Sets the start point coordinate of the line Mark.

This method is defined on marks of type: LineAnnotation.

Parameters:
Name Type Description
value Object

Start point coordinates of a line Mark. The parameter object must be of the following type: {x:xvalue, y: yvalue}

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setStartPoint) {
    mark.setStartPoint({x:1, y:1});
}

setText(value) → {PCCViewer.Mark}

Sets the text in the Text Mark.

This method is defined on marks of type: TextAnnotation, TextRedaction, TextSignature.

Parameters:
Name Type Description
value string

Text of the Mark. Acceptable values are any string.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setText) {
    mark.setText("This is test Text"); 
}

setThickness(value) → {PCCViewer.Mark}

Sets the thickness of line.

This method is defined on marks of type: LineAnnotation, FreehandAnnotation, FreehandSignature.

Parameters:
Name Type Description
value number

Thickness of the line.

See:
Returns:

The Mark object on which this method was called.

Type
PCCViewer.Mark
Example
if (mark.setThickness) {
    mark.setThickness(3);
}

 

 


©2014. Accusoft Corporation. All Rights Reserved.

Send Feedback