Class: TextAnnotation

PSPDFKit.Annotations.TextAnnotation

A free form text that will be rendered inside the bounding box. It has no open or closed state - instead of being displayed in a pop-up window, the text is always visible.

Fonts are client specific and determined during runtime. If a font is not found, we will automatically fall back to a sans serif font.

Constructor

new PSPDFKit.Annotations.TextAnnotation(args)

Free form text that will be rendered inside the bounding box.

Parameters:
Name Type Description
args Object

An object of the members.

Example

Create a text annotation

const annotation = new PSPDFKit.Annotations.TextAnnotation({
  pageIndex: 0,
  text: "Welcome to\nPSPDFKit",
  font: "Helvetica",
  isBold: true,
  horizontalAlign: "center",
  boundingBox: new PSPDFKit.Geometry.Rect({ left: 10, top: 20, width: 30, height: 40 }),
  fontColor: PSPDFKit.Color.RED
});

Extends

Members




Members

(nullable) backgroundColor: PSPDFKit.Color

Optional background color that will fill the complete bounding box.

Type:
Default Value:
  • null

boundingBox: PSPDFKit.Geometry.Rect

Position of this annotation on the page. It's necessary that this spans all visible points of the annotation, otherwise hit testing and other features may not work.

Type:

createdAt: Date

The date of the annotation creation.

Type:
  • Date

(nullable) creatorName: string

The name of the creator of the annotation. This is a general purpose string which can easily be spoofed and might not reflect the actual creator of the annotation.

Type:
  • string

font: string

The name of the font family that should be used.

Fonts are client specific and determined during runtime. If a font is not found, we will automatically fall back to 'sans-serif'.

We test the following list at runtime. The first availble font will be used as the default for all new text annotations: Helvetica, Arial, Calibri, Century Gothic, Consolas, Courier, Dejavu Sans, Dejavu Serif, Georgia, Gill Sans, Impact, Lucida Sans, Myriad Pro, Open Sans, Palatino, Tahoma, Times New Roman, Trebuchet, Verdana, Zapfino, Comic Sans.

Type:
  • string
Default Value:
  • "Helvetica"

fontColor: PSPDFKit.Color

A PSPDFKit.Color for the visible glyphs

Type:
Default Value:
  • Color.BLACK

fontSize: number

The font size in page size pixels. Per default, we use values between 10 and 192 inclusive in the UI.

The text will scale when you zoom in.

Type:
  • number
Default Value:
  • 18

horizontalAlign: "left"|"center"|"right"

The horizontal alignment of the text inside the bounding box. Can be either one of:

  • left
  • center
  • right

This is equal to the CSS text-align property.

Type:
  • "left" | "center" | "right"
Default Value:
  • "left"

id: string

A unique identifier to describe the annotation. When an annotation is created in the UI, the viewer has to generate a unique ID.

When changes are saved to the underlying annotation provider, we call PSPDFKit.Instance#ensureAnnotationSaved to make sure the annotation has been persisted from the provider.

Type:
  • string

isBold: boolean

If true, the font will be bold if the font family supports this.

Type:
  • boolean
Default Value:
  • false

isFitting: boolean

When the annotation is modified through PSPDFKit for Web, we will set this flag whenever the whole text fits the bounds of the annotation without overflowing.

Type:
  • boolean
Default Value:
  • false

isItalic: boolean

If true, the font will be italic if the font family supports this.

Type:
  • boolean
Default Value:
  • false

(nullable) name: string

An optional field that may be used to identify the annotation.

By default, we'll set that to the same value as the automatically generated PSPDFKit.Annotations.Annotation#id.

Type:
  • string

noPrint: boolean

The annotation flag that prevents the annotation from being printed.

Type:
  • boolean
Default Value:
  • false

noView: boolean

The annotation flag that prevents the annotation from being rendered in the UI.

The annotation may still be part of the printed page, depending of the value of the PSPDFKit.Annotations.Annotation#noPrint flag.

Type:
  • boolean
Default Value:
  • false

opacity: number

An optional note that can be set on any annotation.

This value is not displayed in the PSPDFKit for Web UI yet.

Type:
  • number
Default Value:
  • 1

pageIndex: number

The page index on which the annotation is placed. It's important to notice that an annotation can only ever be on one page. If you create for example an ink annotation with lines on two pages, two annotation records will be created.

pageIndex is zero-based and has a maximum value of totalPageCount - 1.

Type:
  • number

(nullable) pdfObjectId: number

When the annotation is extracted directly from a PDF file, the pdfObjectId refers to the identifier that was used in the PDF document.

This ID is optional since newly created annotations using the SYNCProvider annotation provider won't have a pdfObjectId assigned.

Type:
  • number
Default Value:
  • null

text: string

The visible contents in plain text formats. We use a simple newline delimiter \n for multi line texts.

A trailing newline (e.g. foobar\n) will result in an additional line.

We don't support rich text formatting in the text field.

Type:
  • string
Default Value:
  • ""

updatedAt: Date

The date of last annotation update.

Type:
  • Date

verticalAlign: "left"|"center"|"right"

The vertical alignment of the text inside the bounding box. Can be either one of:

  • top
  • center
  • bottom
Type:
  • "left" | "center" | "right"
Default Value:
  • "top"