Annotations are an excellent way to share information with others or make important notes for yourself. The PrizmŽ browser-based Viewer stores annotations in a location that is separate from your image so the original image is never changed. You can view annotations in all versions of the Prizm Viewer. You can create annotations only in the versions of the Prizm Viewer that support annotation creation.

This section describes the following items and is intended for Webmasters and other IT professionals who maintain and upgrade Web Servers. It focuses on images and annotations stored and retrieved from a Website.

 

Adding Annotation Support to Your Web Server

For images that come from the Web, the Prizm Viewer saves annotations to a location that is separate from the image on which the annotations are drawn. For images that come from a local drive, the Viewer manages the annotations. It retrieves and stores annotations in a file that is located in the same directory as the image on which they are drawn. For images that come from a Web Server (Internet or Intranet), the Viewer must rely on another application running on the Web Server to manage annotations stored on the Web Server. This application is often called an “annotation server,” and can be in any form typical for your Web Server. Typical forms are Common Gateway Interface (CGI) applications or scripts, ASP pages and servlets.

The Prizm Viewer supports three types of annotation files: Versions 1.0, 1.1 and 1.2. Version 1.0 annotations provide the same permissions to all users for all annotations. Version 1.1 annotations provide a way for you to set annotation permissions by user for all or individual annotations. The Version 1.2 annotations provide the same type of permission as version 1.1 annotation and extends the "Redaction Flag" field for region annotations to accept three values instead of two.

An optional set of software, the Prizm Web Server Extensions, is available at no extra cost with the Prizm Viewer. The Web Server Extensions software contains two examples of how to implement an annotation server application on your Web Server. Source code is provided for these examples, enabling you to modify them to meet your needs. If you did not receive the Prizm Web Server Extensions with your Viewer, please contact your sales representative or Technical Support and ask for it. It will be sent to you by e-mail unless you request another method of delivery.

The first example of an annotation server application is provided as a CGI application. It is written in the C language and handles all three versions of annotations.

The second example of an annotation server application is provided as ASP pages and an ActiveX (Visual Basic COM object). It mimics the functionality of the CGI annotation Web Server. In addition, it also shows how to interact with a database. The CGI application and the ASP sample perform the following functions:

NOTE

In the remaining sections, the text will refer to the application that manages annotations on the Web Server as "the annotation server application." The annotation server application could refer to either of the examples sent with the Prizm Web Server Extensions or to an application that you build based on these examples. Both examples communicate and respond in similar ways to the Viewer, so the remaining information applies to both examples.

 

Communicating with the Annotation Server Application

The Prizm Viewer communicates with the annotation server application through HTTP “GET” and “POST” messages. The Web Server manages the routing of messages to the appropriate applications.

When the Prizm Viewer receives an image from the browser, it requests annotation information for the image (unless you disable this in the Prizm Viewer Preferences). To receive the annotation information, the Prizm Viewer must deliver a request to the annotation server application. The Viewer needs two pieces of information to create this request: which Web Server to contact and the name and location of the annotation server application. The Prizm Viewer performs the following steps to create the request:

  1. Determines which Web Server needs to be contacted for annotation information. The Prizm Viewer looks at the image’s URL (e.g., http://www.pegasusimaging.com/images/image.tif) and notes the Web Server name (e.g., http://www.pegasusimaging.com). The Viewer then posts all requests for annotation information to the annotation server application located on that Web Server. For this reason, you must have a copy of the annotation server application on every Web Server that contains images that will use annotations. If you need to specify the same annotation server for multiple Websites, this can be done through the ANNCGI object tag parameter or list file directive. For information on the ANNCGI tag, see the Parameter-Directives table. For information on using object tags, embed tags, and directives, see Creating HTML.
  2. Determines the name and location of the annotation server application. By default, the Prizm Viewer looks for the annotation server application in the “/cgi-bin/” directory under the name “IMGANNOT.CGI.” If you look in the Preferences dialog box on the “Mapping” tab, you will see at least one entry named “Default.” The name and location of the annotation server application is listed as “/CGI-bin/imgannot.cgi”. If your CGI directory is located in a different location or if you need to give the annotation server application a different name, you will need to tell the Prizm Viewer about the unique mapping. You can set the name and the location of the annotation server application in one of three ways:


The Viewer creates the request for annotations by building a path to the annotation server application using the Web Server’s URL plus the CGI directory and annotation server application name. For example, if the Web Server's URL is “http://www.server.com” and the default mapping is used, the Viewer will expect the annotation server application to be “http://www.server.com/CGI-bin/imgannot.cgi.”

Retrieving Annotation Information -- Viewer Request

To retrieve annotation information, the Prizm Viewer sends an HTTP “GET” request to the annotation server application located on the Web Server. The format of the HTTP “GET” request is the name of the annotation server application, followed by a question mark, followed by the QUERY_STRING (the information being requested).

http://www.server.com?f=filename&p=pagenumber

Inside the annotation server application, the QUERY_STRING environment variable or request object query string variable is set to the following:

QUERY_STRING = "f=filename&p=pagenumber"

The filename is the path of the file relative to the URL of the server. For example, if you are requesting annotation information for a single-page image file with the path “http://www.server.com/pic/logo.tif,” the query string should be set to “f=/pic/logo.tif". If the image file is multi-page, the page variable is set to the page number that is being requested. For example, if you are requesting annotation information for page two of the image “http://www.server.com/pic/market.tif,” the query string should be set to “f=/pic/market.tif&p=2.” If no page number is specified, the first image (“1”) is assumed.

Retrieving Annotation Information -- Server's Response

The annotation server application must return the following information to the Viewer when it replies to a "GET" request:

Status

The following table provides a description of the status codes that must be returned to the Prizm Viewer in response to a GET request.

 

Status Code

Status Definition

Status Description

Data Follows

200

OK

Annotation data was found and follows.

Yes

204

No annotations

No annotations exist for this image file. Use this status code for annotations when permissions are not used.

DO NOT use this value if you are using annotation permissions. When using annotation permissions, you must return annotations. If your image does not have annotations on it yet, return an annotation header that specifies the permissions but does not contain any annotation records.

No

400

Request does not follow f=filename format

The GET query was not formatted correctly. The Viewer formats the GET query. This error should not occur. If it does, call technical support.

No

405

Request Method not set

The request method was not set by the Web Server. This error should not occur.

No

502

Timeout - annotation server busy

This error should only occur when the Web Server cannot open a valid annotation file.

No

510

Bad Imagefile URL (URL)

The URL specified is invalid. (URL) contains the URL of the image file that was specified so the Viewer can display information about this problem.

No

519

Invalid header found: %d

The annotation header record is incorrect. The %d value should be one of the annotation header error numbers.

No

522

No annotation stream header found

The annotation information sent to the annotation server application did not contain a valid annotation header record.

No

523

Invalid record on line %d: %d

The annotation data appears to be corrupt. The first %d value specifies the line number of the annotation record that is corrupt. The second %d value specifies the annotation error encountered.

No

 

NOTE:

The GET request is generated internally by the Viewer. The results of the GET operation, the list of annotations to be drawn on the image, are transferred back to the Viewer. If annotations exist, the Viewer will draw the annotations on top of the image currently displayed. No other noticeable change in the browser window will occur.

Content Type

The content type of this data stream is text/html.

Data

The data is the actual annotation information. It describes annotations that are to be drawn. This data will follow only if annotation information exists.

HTTP Example Responses

Below are two examples of information returned from the annotation server application.

For additional information on annotations, see Formatting Annotations.

Saving Annotation Information -- Viewer Request

When saving annotation information back to the Web Server, the Prizm Viewer passes annotation information to the Web Server using the HTTP “POST” method. The URL provided through the Post method will not contain a filename or image page designator. This information is contained in the annotation header in the data that is transmitted back to the server.

To receive the annotation information using a CGI application, the CGI application reads from standard input (STDIN). To receive the annotation information using JAVA or ASP, the application reads from the Request object. (For ASP this is part of the IIS framework.) The Content-Length environment variable in a CGI application or equivalent property in JAVA or ASP specifies the count of bytes of information that needs to be read.

The following table provides a listing of information that the annotation server should return to the Viewer following the Post submission.


Status

Status Description

Description

200

Annotations processed successfully

The annotations were saved correctly to the server.

405

Request Method not set

The request method was not set by the Web Server. This method is set by the Viewer. This error should not occur. Call Technical Support if it does.

502

Timeout - annotation server busy

This error should occur only when the Web Server cannot open a valid annotation file.

510

Bad Imagefile URL (URL)

The URL specified is invalid. (URL) contains the URL of the image file that was specified so that the Viewer can display information about this problem.

513

Could not create file

The annotations file could not be created.

519

Invalid header found: %d

The annotation header record was incorrect. The %d value will be one of the annotation header error numbers.

522

No annotation stream header found

The annotation information sent to the annotation server did not contain a valid annotation header.

523

Invalid record on line %d: %d

The annotation data appears to be corrupt. The first %d value specifies the line number of the annotation record that is corrupt. The second %d value specifies the annotation error encountered.


NOTE:

The POST submission is generated internally by the Viewer. The results of the POST operation are transferred back to the Viewer. The user will see a change in the browser window only if an error occurs.

Saving Annotation Information -- Server Response

The following table provides a listing of errors that can occur while processing the annotation information. These errors will occur in conjunction with status values of 519 and 523 to provide additional information when errors occur in annotation headers or records. For more information about annotation header records, see Formatting Annotations.

 

Error Constant

Description

Macro Definition from annot.h (from CGI example code)

-1

The header record is illegally formed

ANN_BADHEADER

-2

The header record tag is invalid

ANN_BADTAG

-3

The version is not supported

ANN_BADVERSION

-4

The operation code is invalid

ANN_BADOP

-5

The coordinates for the annotation are invalid

ANN_BADCOORD

-6

All the fields are not specified

ANN_BADRECORD

-7

The line direction field is invalid

ANN_BADDIRECTION

-8

The arrows field is invalid

ANN_BADARROWS

-9

The alignment field is invalid

ANN_BADALIGNMENT

-10

The redaction flag is invalid

ANN_BADREDACTFLAG

-11

The color mapping flag is invalid

ANN_BADCOLORMAPFLAG

-12

The transparency flag is invalid

ANN_BADTRANSPARFLAG

-13

The activation flag is invalid

ANN_BADACTIVATECODE

-14

The rotation value is invalid

ANN_BADROTATION

Working with the Sample Annotation Server Applications

The sample annotation server applications distributed in the Prizm Web Server Extensions illustrate a simple method of handling image annotations on a Web Server. The sample CGI application stores annotations in a flat-file system that mimics the method used by the Prizm Viewer to store annotations on local drives. The sample ASP application stores annotations in either a flat-file system or in an Access database. In the flat-file system, the annotation files are stored in a directory structure similar to that of the images with which they are associated. The annotation file name is the same as the associated image’s file name with information appended to the file name. The annotation file name is created using the following method:

ANN_FileName = enhanced_img_file_path + “.ANN” + “.” + page_number

For example, if the image file name is /images/tax_document/1040.tif and the page containing annotations happens to be the first page in the TIFF file (page 1 of a multi-page TIFF file), then the filename created will be:

/images.ad/tax_documents.ad/1040.tif.ann.0

The directory names are “enhanced” - they have the extension “.ad” appended to them. The “Ad” indicates that the directory is an annotation directory. The page number is 0-based, not 1-based (page 1 = 0).

The annotation server application creates the directories and annotation files underneath the directory in which it resides (the CGI directory) or in a designated directory. In the example provided above, the image annotation file would be created as follows:

 

Integrating Annotations with Your Current System

The sample annotation server applications demonstrate a simple way to implement an annotation server. In practice, most companies must integrate annotations with their existing database and security schemes. The Prizm Viewer sends and receives annotations in a defined format, but you are not required to store them in that format. You can store them in any manner that integrates with your current system.

We suggest that you use the sample annotation server applications as examples of how to handle incoming requests from the Viewer and create outgoing responses to the Viewer. You can modify the sample annotation server applications or create new annotation server applications written in a different language, incorporating calls to your database, using your security mechanisms, and so on.

 

Annotation Permissions

The Prizm Viewer provides three types of annotation files: standard (version 1.0) and with permissions (version 1.1 and version 1.2). Standard annotations allow the user to add, edit, delete and modify any annotation for the image being viewed. Annotation permissions grant access to add, edit, delete or modify annotations on two levels: all annotations on an image can have the same permissions or individual annotations can have unique permissions. In this section, we will describe both kinds of annotations and give details on how permissions work with annotations.

Standard Annotation Files

Standard annotation files can be used with version 3.0 and above of the Prizm Viewer. To determine if an annotation file is using standard (version 1.0) annotations, look at the annotation file in a text editor such as Notepad. The "Version" field in the annotation header record will be set to "1.0." When the Viewer finds "1.0" in the "Version" field, it ignores any permissions set in the Header or Annotation records. A standard annotation file looks like the following. For more information on the layout of annotation files, please see Formatting Annotations.

Annotations with Permissions

Annotations with permissions can be used with version 4.0 and above of the Prizm Viewer. To determine if an annotation file contains permissions for version 1.1 or version 1.2, check the "Version" field in the annotation header record using a text editor. When the Viewer finds "1.1" in the "Version" field, it combines the permissions found in the header record and/or the individual annotation records to determine the permissions for each annotation. When a system uses annotation permissions, an annotation file must always be sent to the Prizm Viewer when the Viewer requests one, even if the annotation file contains only a header record. If the Viewer finds "1.2" in the "Version" field, the permissions are the same as Version 1.1, but the Redaction Flag field is extended for region annotations and accepts three values.

Permissions can be set in two distinct places: the header record and each annotation record. Each record has a "permission" field that can contain one or more of the following characters. The characters can be in any order:

NOTE: "V" is not needed or used by the Viewer or server-side annotation components. All annotations in the annotation file are viewable by default. If the annotation server needs to prevent the user from seeing specific annotations, these annotations should be omitted from the annotation file created for the user.

For version 1.1 and 1.2 annotations, permissions set in the header record are applied to all annotations and are combined with any permission set for an individual annotation. An annotation file with permissions looks like the following. For more information on the layout of annotation files, please see Formatting Annotations.

NOTE

These permission fields also occur in version 1.0 annotations. The permission field in the header record is always set to AVED. The permission field in an individual annotation record is always set to "A." The Viewer does not check or use these values when processing version 1.0 annotations.

The permissions fields allow a two-way communication between the annotation server application and the Viewer. The annotation server application is the application on the Web Server that processes annotations. The annotation server application can communicate the actions allowed on all or individual annotations to the Viewer. The Viewer can communicate the actions performed on annotations to the annotation server application so it can store them correctly.

The annotation server application is responsible for creating the content of the annotation file. For the purpose of this discussion and some of the examples given below, we will assume that the annotations are kept in a database. When the Viewer requests an annotation file, the annotation server application determines the identity of the user and creates the annotation file. The annotation file will contain only the annotations available to the user and will have the permissions set appropriately.

The annotation server application uses a combination of the header record and annotation records to communicate permissions to the Viewer. The annotation server application will set the permissions fields using the following rules.

 

Header record, permission field:

Any permission set in this field applies to all subsequent annotation records. The characters (AVED) will be interpreted to have the following meanings by the Viewer:

A - Allow the user to add annotations to the image. When this is set, the Viewer allows the user to create annotations - the toolbar buttons for creating annotations will be active. If this permission does NOT exist, the Viewer will gray the toolbar buttons for creating annotations. This is the only place in the annotation file that gives the user permission to create annotations.

V - Allow the user to view existing annotations. "V" is not needed or used by the Viewer to server-side annotation components.

E - Allow the user to edit all annotations listed in the annotation file. The user can change anything allowed in the Prizm Viewer Edit Annotation dialog box.

Click this thumbnail to view the Edit Annotations dialog box, click Back to return to this topic.  

Edit and delete are two separate actions. The user can have the right to edit annotations, but not be able to delete them. If the user only has edit capabilities, the Delete button on the Edit Annotation dialog box will be hidden.

D - Allow the user to delete any annotations listed in the annotation file. The user can delete an annotation through the Prizm Viewer Edit Annotation dialog box. A Delete button appears on that dialog.

 

Annotation record, permission field:

The information about an annotation (type, location, size, color and so on) is stored in an annotation record. One record exists for each annotation. The permission field in the annotation record applies only to that annotation. The characters (AVED) in the permission field will be interpreted to have the following meanings by the Viewer:

A - This value is ignored by the Viewer. It is considered a valid character for this field, but has no meaning since the annotation already exists.

V - Allow the user to view the annotation. This value is ignored by the Viewer. By definition, if an annotation appears in the annotation file, it is automatically considered viewable by the Viewer. "V" is considered a valid character.

E - Allow the user to edit this annotation. The user can change anything allowed in the Prizm Viewer Edit Annotations dialog box. Edit and delete are two separate actions. The user can have the right to edit this annotation but not be able to delete it. If the user only has edit capabilities, the Delete button on the Edit Annotation dialog box will be hidden.

D - Allow the user to delete this annotation.

The Viewer uses the annotation records to communicate any changes made to annotations. The annotation server will look at the individual annotation records and determine the correct information to store in its database. The Viewer sets the permissions fields using the following rules.

Header record, permission field:

The Viewer does not make any changes to the header record. The annotation server can ignore the permissions in this record.

Annotation record, permission field:

The information about an annotation is stored in an annotation record. One record exists for each annotation. The permission field in the annotation record applies only to that annotation. The Viewer will set the permissions to indicate any actions taken by the user. The annotation server will need to interpret the permissions as described below.

A - Indicates that the annotation is new. The annotation server receiving this annotation record will know to treat it as a newly created annotation record.

V - The annotation server can ignore this if it is left by the Viewer. It has no meaning.

E - Indicates that the user modified the annotation.

D - Indicates that the user deleted the annotation.

 

The process flow for using annotations with permissions is as follows. The process flow assumes that "Internet Annotations" is ON.

  1. The user clicks on a link (or other mechanism) to open an image file.
  2. The Viewer receives the image file and sends a request to the annotation server application for any related annotations using an HTTP "GET" message. The Viewer displays the image while waiting for the response to the request for annotations.
  3. The annotation server application receives and processes the request for annotations. The method it uses to process the request should be determined by the person writing the application, When working with a database, the annotation server application should recognize the person making the request, use that information to pull the appropriate annotation records from the database (including types of actions the user can perform on each annotation), format the annotation information appropriately, and send a response to the Viewer.
  4. The Viewer reads the annotation information, updates the toolbar if the user has no permissions to create annotations, sets permissions information internally, and then draws the annotations on the image.
  5. The user updates or creates annotations through the Viewer interface. The Viewer records this information as it happens.
  6. When the user leaves the image, or chooses the Save Annotations right-click menu item, the Viewer sends the updated annotation information to the annotation server application using an HTTP "POST" message.
  7. The annotation server application records the changes made to the annotations by the user in the database.

Formatting Annotations

The layout of the annotation information is record-oriented. A carriage-return/linefeed (hex 0d0a) terminates each record. Each field within a record is separated by a delimiting character. The delimiting character for fields is defined as the character immediately following the Annotation Header Tag in the Annotation Header Record. If text within a record consists of multiple lines, separate the lines using the linefeed character only. Only use the carriage-return/linefeed pair to terminate a record.

The first record must be the Annotation Header Record. It contains information about the set of annotations, the image file they apply to, and so on. The first entry on each line identifies the annotation type. The fields for each type of record vary depending on the record type. Below is a listing of the record fields for each of the annotation record types.

If a default value does not exist, the value must be specified.

NOTE:

The maximum number of characters allowed in a note associated with an annotation must not exceed 120. 


Annotation Header:

Tag, Version, Image file URL, Image File date/time (MM/DD/YYYY,HH:MM:SS), Number of Annotation Records, Permission, User Name, Password, Checksum

Field

Default

Description

Tag

 

"TMSS Annot"

Version

"1.0"

Valid values are "1.0," "1.1," and "1.2."

Version 1.0 indicates that permissions will NOT be used and that all users have all rights to all annotations.

Version 1.1 indicates that permissions will be used and that the Viewer should check permission fields and adjust accordingly for the user.

Version 1.2 also indicates that permissions will be used and that the Viewer should check permission fields and adjust accordingly for the user, but includes an extended Redaction Flag for region annotations.

Image Filename

 

The name of the image file with which the annotations are associated. If the file URL of the image is "http://www.server.com/images/test.tif," then the URL is "www.server.com" and the filename for that image would be "/images/test.tif"

Page

0

The page number for the image in the image file (always 0 for single-page image files)

Image File date/time

 

MM/DD/YYYY,HH:MM:SS (should be the last modified date/time)

Number of Annotation Records

0

The number of annotation records which will occur, not including the header

Permissions

V

Use any of the following set of characters (in any order) to represent the permissions.

A - Add annotations to the image
V - View existing annotations
E - Edit existing annotations
D - Delete existing annotations

For version 1.0 annotations, these are always set to AVED.

For version 1.1 and 1.2 annotations, these permissions apply to all annotation records and are added to the permissions indicated in the individual records.

NOTE - "V" is not needed or used by the Viewer or server-side annotation components. All annotations found in the annotation file are viewable by default.

 

User Name

""

Used for tracking and authorization purposes. For messages going to the client, this can be set to any string. The maximum length of this string will be 20 characters.

NOTE

This is not used by the Viewer at this time. You can choose to pass this information to your annotation server and store it.

Password

""

Used for authorization purposes. For messages going from the server to the client, this string can be set to anything. The maximum length of this string is 20 characters.

NOTE: This is not used by Prizm™ Viewer at this time. You can choose to pass this information to your annotation server and store it.

Checksum

 

Used to validate the integrity of the data. At present, set this field to 0. The checksum will be used for the contents of the entire set of annotation records, including the header.


Region Annotation (boxes, ellipses):

Type, Operation, Name String, Left, Top, Width, Height, Border Color, Border Width, Fill Color, Redaction Flag, Color Mapping Flag, Annotation Note Text, Permissions

Field

Default

Description

Type

 

"B" (BOX) or "E" (ELLIPSE)

Permissions

"V" or ""

Used with version 1.1 and 1. 2 annotations.

Use any of the following set of characters (in any order) to represent the permissions. If the permissions are not set, the Viewer will assume that the user can only view the annotation. "V" stands for View and is understood and always included. You can specify it or not. These permissions are in addition to any permissions granted in the header.

A - When viewing, this is not used by the Viewer. Add permission must be given in the annotation header. When saving, the Viewer uses this to indicate that the annotation is new. The Web Server application receiving this annotation record will know to treat it as a newly created annotation record. This only applies to this annotation.

E - When viewing, the Viewer allows the user to edit (modify) this annotation when this permission is set. A user with modify permissions will also be granted full viewing permission, but not the ability to delete unless Delete is specified. When saving, this indicates to the Web Server application that the annotation has been modified. [Note: If this was set for viewing, but the user does not modify the annotation, the Viewer will turn off the permission setting to indicate that the annotation has not been changed before sending it to the Web Server.]

D - When viewing, the Viewer allows the user to delete this annotation when this permission is set. When saving, this indicates to the Web Server application that this annotation record should be deleted. [Note: If this was set for viewing, but the user does not delete the annotation, the Viewer turns off this permission setting to indicate that the annotation has not been deleted.]

Name String

 

The name of the annotation. This should be a unique identifier for the annotation. The annotation name should be limited to 40 bytes.

Left

0

The image pixel offset of the left edge of the annotation

Top

0

The image pixel offset of the top of the annotation

Width

 

The image pixel width of the annotation

Height

 

The image pixel height of the annotation

Rotation

0

The rotation of the annotations on the image. The rotation value should be 0, 90, 180, or 270.

Border Color

Black

The RGB color (in decimal format) used when drawing the border of the annotation.

Border Width

1

The pixel width of the border drawn around the annotation. Setting this value to 0 turns off the border.

Fill Color

Yellow

The RGB color (in decimal format) used when drawing the interior, non-border portion of the annotation.

Activation Flag

T

"T" (Note text), "H" (Hyperlink to URL), or "N" (None). This flag indicates what action will be performed when the user clicks on the annotation.

Transparency Flag

T

"T" (True) or "F" (False). If true, the annotation will be painted with a transparent background.

Redaction Flag

F

"T" (True), "F" (False) or "I" (Inverse). The valid values have the following meanings:

T - The annotation is to be burned into the annotation. The Prizm Viewer will not perform this action - a web server component must perform the action.
F - The annotation is not to be burned in to the image by the web server component.
I - The inverse of the annotation is to be burned in to the image (leave the area denoted by the annotation as it is and, using the characteristics of the annotation, cover the remaining area of the image).

Color Mapping Flag

F

"T" (True) or "F" (False). Setting this flag to True causes a color mapping to occur. When color mapping is turned on, the Fill Color will be substituted for any pixel which is not the background color. So, for a bitonal black-on-white image, any black pixels in the annotation area would be displayed using the Fill Color instead of black.

Annotation Note Text

""

Any comments which may have been stored with the annotation. 


Line Annotation:

Type, Operation, Name String, Left, Top, Width, Height, Line Width, Color, Direction, Arrows, Redaction Flag, Annotation Note Text, Permissions

Field

Default

Description

Type

 

"L" (LINE)

Permissions

"V" or ""

Used with version 1.1 or 1.2 annotations.

Use any of the following set of characters (in any order) to represent the permissions. If the permissions are not set, the Prizm Viewer assumes that the user can only view the annotation. "V" stands for View and is understood and always included. You can specify it or not. These permissions are in addition to any permissions granted in the header.

A - When viewing, this is not used by the Viewer. Add permission must be given in the annotation header. When saving, the Viewer will use this to indicate that the annotation is new. The Web Server application receiving this annotation record will know to treat it as a newly created annotation record. This only applies to this annotation.

E - When viewing, the Viewer allows the user to edit (modify) this annotation when this permission is set. A user with modify permissions will also be granted full viewing permission, but not the ability to delete unless Delete is specified. When saving, this indicates to the Web Server application that the annotation has been modified. [Note: If this was set for viewing, but the user does not modify the annotation, the Viewer turns off this permission setting to indicate that the annotation has not been changed before sending it to the Web Server.]

D - When viewing, the Viewer will allow the user to delete this annotation when this permission is set. When saving, this indicates to the Web Server application that this annotation record should be deleted. [Note: If this was set for viewing, but the user does not delete the annotation, the Viewer turns off this permission setting to indicate that the annotation has not been deleted.]

Name String

 

The name of the annotation. This should be a unique identifier for the annotation.

Left

0

The image pixel offset of the leftmost point of the line.

Top

0

The image pixel offset of the topmost point of the line

Width

 

The image pixel width of the rectangular container of the line. The rightmost point is calculated by adding the Width to Left.

Height

 

The image pixel height of the rectangular container of the line. The rightmost point is calculated by adding the Height to Top.

Rotation

0

The rotation of the annotations on the image. The rotation value should be 0, 90, 180, or 270.

Line Width

1

The pixel width of the line. This value must be > 0.

Color

Black

The RGB color (in decimal format) used with drawing the line.

Direction

"TL"

The corner of the rectangle container which represents the beginning point of the line. Values are:

"TL" (Top-Left): The top-left corner represents the beginning point
"TR" (Top-Right): The top-right corner represents the beginning point
"BL" (Bottom-Left): The bottom-left corner represents the beginning point
"BR" (Bottom-Right): The bottom-right corner represents the beginning point

Arrows

""

Use any of the following characters to represent which ends of the line should have arrowheads:

This value represents how the arrows should be arranged:

"S" (Start) - an arrow head at the beginning of the line
"E" (End) - an arrow head at the end of the line

Activation Flag

T

"T" (Note text), "H" (Hyperlink to URL), or "N" (None). This flag indicates what action will be performed when the user clicks on the annotation.

Redaction Flag

"F"

"T" (True) or "F" (False). If true, the annotation will be considered a redaction for the image. Redaction is not supported in this version.

Annotation Note Text

""

Any comments which may have been stored with the annotation. 


Text Annotation:

Type, Operation, Name String, Left, Top, Width, Height, ForeColor, BackColor, Font Name, Font Size, Font Style, Vertical Alignment, Horizontal Alignment, Text String, Associated Note Text, Permissions

Field

Default

Description

Type

 

"T" (TEXT)

Permissions

"V" or ""

Used with version 1.1 and 1.2 annotations.

Use any of the following set of characters (in any order) to represent the permissions. If the permissions are not set, the Prizm Viewer assumes that the user can only view the annotation. "V" stands for View and is understood and always included. You can specify it or not. These permissions are in addition to any permissions granted in the header.

A - When viewing, this is not used by the Viewer. Add permission must be given in the annotation header. When saving, the Viewer will use this to indicate that the annotation is new. The Web Server application receiving this annotation record will know to treat it as a newly-created annotation record. - this only applies to this annotation.

E - When viewing, the Viewer will allow the user to edit (modify) this annotation when this permission is set. A user with modify permissions will also be granted full viewing permission, but not the ability to delete unless Delete is specified. When saving, this indicates to the Web Server application that the annotation has been modified. [Note: If this was set for viewing, but the user does not modify the annotation, the Viewer turns off this permission setting to indicate that the annotation has not been changed before sending it to the Web Server.]

Name String

 

The name of the annotation. This should be a unique identifier for the annotation.

Left

0

The image pixel offset of the leftmost point of the line.

Top

0

The image pixel offset of the topmost point of the line

Width

 

The image pixel width of the rectangular container of the line. The rightmost point is calculated by adding the Width to Left.

Height

 

The image pixel height of the rectangular container of the line. The rightmost point is calculated by adding the Height to Top.

Rotation

0

The rotation of the annotations on the image. The rotation value should be 0, 90, 180, or 270.

ForeColor

 

The RGB color (in decimal format) used when painting the letters of the text in the text annotation (foreground).

BackColor

Black

The RGB color (in decimal format) used when painting the background of the text in the text annotation.

Font Name

System

The name of the font to be used when painting the text of the text annotation.

Font Size

10

The size of the text.

Font Effects

""

Use any of the following characters to represent effects on the font:

"B" - Bold
"U" - Underline
"I" - Italics
"S" - Strikethrough

Vertical Alignment

"T"

The vertical alignment within the rectangular container of the text annotation. Values are:

"T" (TOP) - Paint the text at the top of the container (default)
"C" (CENTER) - Center the text within the container
"B" (BOTTOM) - Paint the text at the bottom of the container

Horizontal Alignment

"L"

The horizontal alignment within the rectangular container of the text annotation. Values are:

"L" (LEFT) - Left-justify the text in the container (default)
"C" (CENTER) - Center the text horizontally within the container
"R" (RIGHT) - Right-justify the text in the container

Activation Flag

T

"T" (Note text), "H" (Hyperlink to URL), or "N" (None). This flag indicates what action will be performed when the user clicks on the annotation.

Transparency Flag

T

"T" (True) or "F" (False). If true, the annotation will be painted with a transparent background.

Text String

 

The text which will be visible to the user, overlaid on the image.

Associated Note Text

""

Any comments which may have been stored with the annotation. Must not exceed 120 characters.


Pop-Up Note Annotation:

Type, Operation, Name String, Left, Top, Width, Height, Vertical Alignment, Horizontal Alignment, Rotation, BorderColor, BorderWidth, FillColor, Activation Code, Transparency Flag, Redaction Flag, Color Map Flag, Note Text, Permissions

Field

Default

Description

Type

"N"

"N" (NOTE, Pop-up)

Permissions

"V" or ""

Used with version 1.1 and 1.2 annotations.

Use any of the following set of characters (in any order) to represent the permissions. If the permissions are not set, the Prizm Viewer assumes that the user can only view the annotation. "V" stands for View and is understood and always included. You can specify it or not. These permissions are in addition to any permissions granted in the header.

A - When viewing, this is not used by the Viewer. Add permission must be given in the annotation header. When saving, the Viewer will use this to indicate that the annotation is new. The Web Server application receiving this annotation record will know to treat it as a newly-created annotation record. - this only applies to this annotation.

E - When viewing, the Viewer allows the user to edit (modify) this annotation when this permission is set. A user with modify permissions will also be granted full viewing permission, but not the ability to delete unless Delete is specified. When saving, this indicates to the Web Server application that the annotation has been modified. [Note: If this was set for viewing, but the user does not modify the annotation, the Viewer turns off this permission setting to indicate that the annotation has not been changed before sending it to the Web Server.]

D - When viewing, the Viewer will allow the user to delete this annotation when this permission is set. When saving, this indicates to the Web Server application that this annotation record should be deleted. [Note: If this was set for viewing, but the user does not delete the annotation, the Viewer turns off this permission setting to indicate that the annotation has not been deleted.]

Name String

 

The name of the annotation. This is in the form of Notexxx.

X Coordinate

 

Horizontal Alignment - 16

Y Coordinate

 

Vertical Alignment -16

Width

 

32 pixels

Height

 

32 pixels

Vertical Alignment

"C"

Vertical Centerpoint

Horizontal Alignment

"C"

Horizontal Centerpoint

Rotation

 

The rotation of the annotation on the image. The rotation value should be 0, 90, 180 or 270.

Border Color

0

Black

Border Width

1

Legal values are 0-9

Activation Flag

T

"T" means "TRUE" or always display note text when activated.

Transparency Flag

T

"T" (True). Always true, which means the annotation is painted with a transparent background.

Redaction Flag

"F"

"F" (False). Only setting allowed.

Color Map Flag

"F"

"F" (False). Only setting allowed.

Pop-up Note Text

""

The text entered by the user when the note was created. 


Stamp Annotation:

Type, Operation, Name String, Left, Top, Width, Height, Stamp Type, Border Color, Text Color, Border Type, Permissions

Field

Default

Description

Type

"S"

"S" (Stamp)

Permissions

"V" or ""

Used with version 1.1 and 1.2 annotations.

Use any of the following set of characters (in any order) to represent the permissions. If the permissions are not set, the Prizm Viewer assumes that the user can only view the annotation. "V" stands for View and is understood and always included. You can specify it or not. These permissions are in addition to any permissions granted in the header.

A - When viewing, this is not used by the Viewer. Add permission must be given in the annotation header. When saving, the Viewer will use this to indicate that the annotation is new. The Web Server application receiving this annotation record will know to treat it as a newly created annotation record. This only applies to this annotation.

E - When viewing, the Viewer allows the user to edit (modify) this annotation when this permission is set. A user with modify permissions will also be granted full viewing permission, but not the ability to delete unless Delete is specified. When saving, this indicates to the Web Server application that the annotation has been modified. [Note: If this was set for viewing, but the user does not modify the annotation, the Viewer turns off this permission setting to indicate that the annotation has not been changed before sending it to the Web Server.]

D - When viewing, the Viewer will allow the user to delete this annotation when this permission is set. When saving, this indicates to the Web Server application that this annotation record should be deleted. [Note: If this was set for viewing, but the user does not delete the annotation, the Viewer will turn off this permission setting to indicate that the annotation has not been deleted.]

Name String

 

The name of the annotation. This is in the form of Stampxxx.

Left

 

The image pixel offset of the leftmost point of the line.

Top

 

The image pixel offset of the topmost point of the line

Width

 

The image pixel width of the rectangular container of the line. The rightmost point is calculated by adding the Width to Left.

Height

 

The image pixel height of the rectangular container of the line. The rightmost point is calculated by adding the Height to Top.

Rotation

 0

The rotation of the annotation on the image. The rotation value should be 0, 90, 180 or 270.

Border Width

1

The pixel width of the border drawn around the annotation. Setting this value to 0 turns off the border.

Border Color

0

The RGB color (in decimal format) used when drawing the border of the annotation.

Text Color

T

The RGB color (in decimal format) used when drawing the text of the annotation.

Border Style

"R"

Use any of the following characters to represent the type of border to be drawn around the stamp annotation.

"R" (Rectangle) - rectangular border

"E" (Ellipse) - elliptical border

Stamp Type

"P"

Use one of the following characters to represent the type of stamp annotation.

"P" (Pre-defined Stamp). Use one of the predefined types of stamps.

"C" (Custom Text). Use custom text inside the stamp.

Stamp Text

"F"

"The contents of this field are determined by the "stamp type" in the previous field.

If stamp type = "P", this contains the name of a predefined stamp. Predefined stamp names are:

Approved
Confidential
Date
Declined
Received
Draft
Rejected

If stamp type = "C", this contains the text to be used in the stamp annotation. Maximum number of characters is 25.

Date

""

The date to be used in the stamp. If null, no date is to be used. Dates are in mm/dd/yyyy format.