Constructor
Free form text that will be rendered inside the bounding box.
Parameters:
Name | Type | Description |
---|---|---|
args |
object | An object of the members. |
Example
const annotation = new PSPDFKit.Annotations.TextAnnotation({
pageIndex: 0,
text: { format: "plain", value : "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
Optional background color that will fill the complete bounding box.
Type:
- Default Value:
- null
The blend mode defines how the color of the annotation will be applied to its background.
Type:
- Inherited From:
- Default Value:
- "normal"
Optional border color that will be used for the text border and the line for text annotations
of type callout. It will be not be rendered if the callout
property is not set.
Type:
- Default Value:
- null
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:
- Inherited From:
The callout that is attached to the annotation.
Type:
- Default Value:
- null
This property defines whether the user has permission to edit the group of this annotation.
It is only available when collaboration permissions is enabled on Server-Backed deployments.
Type:
- boolean
- Inherited From:
The date of the annotation creation.
Type:
- Date
- Inherited From:
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
- Inherited From:
Annotations can store additional user-specified data.
PSPDFKit will not use or evaluate customData
in the UI directly.
You have full control over this property. For new annotations, this defaults to null.
customData will be stored as JSON through JSON.serialize()
and JSON.parse()
, and
so must be a plain JSON-serializable object.
Type:
- object
- Inherited From:
Example
const annotation = new PSPDFKit.Annotations.EllipseAnnotation({
pageIndex: 0,
boundingBox: new PSPDFKit.Geometry.Rect({
top: 10,
left: 10,
width: 100,
height: 100
}),
customData: {
circleId: "my-circle"
}
});
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 available 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"
A PSPDFKit.Color for the visible glyphs, or null
for transparent color.
Type:
- Default Value:
- Color.BLACK
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
This property is used to define the permission scope for this annotation.
It is only available when collaboration permissions is enabled on Server-Backed deployments.
Type:
- string
- Inherited From:
If set, do not display or print the annotation or allow it to interact with the user.
Type:
- boolean
- Inherited From:
- Default Value:
- false
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"
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
- Inherited From:
If true
, the font will be bold if the font family supports this.
Type:
- boolean
- Default Value:
- false
This property defines whether this annotation can be deleted or not. The value of this field depends on the set of collaboration permissions defined in the JWT token.
It is only available when collaboration permissions is enabled on Server-Backed deployments.
Type:
- boolean
- Inherited From:
This property defines whether this annotation can be edited or not. The value of this field depends on the set of collaboration permissions defined in the JWT token.
It is only available when collaboration permissions is enabled on Server-Backed deployments.
Type:
- boolean
- Inherited From:
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:
If true
, the font will be italic if the font family supports this.
Type:
- boolean
- Default Value:
- false
The annotation flag that prevents the annotation from being modified.
Type:
- boolean
- Inherited From:
- Default Value:
- false
The annotation flag that prevents the annotation content from being modified.
Type:
- boolean
- Inherited From:
- Default Value:
- false
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
- Inherited From:
The annotation flag that prevents the annotation from being printed.
Type:
- boolean
- Inherited From:
- Default Value:
- false
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
- Inherited From:
- Default Value:
- false
When set, the annotation will not scale up in the page when it's zoomed in.
The flag doesn't have an effect when the page is zoomed out to a zoom level less than 1
.
The flag is not currently supported when the callout
property is set.
Type:
- boolean
- Default Value:
- false
An optional note that can be set on any annotation.
This value is displayed in the PSPDFKit for Web UI for all annotations except NoteAnnotation, TextAnnotation, WidgetAnnotation and CommentMarkerAnnotation.
Type:
- string
- Inherited From:
A transparency value that is applied to the complete annotation. The value is capped between 0 and 1 inclusive.
Type:
- number
- Inherited From:
- Default Value:
- 1
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
- Inherited From:
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
- Inherited From:
- Default Value:
- null
The annotation flag that makes the annotation read only.
Type:
- boolean
- Inherited From:
- Default Value:
- false
The counter-clockwise rotation value in degrees relative to the rotated PDF page. Inserting an
annotation with a rotation value of 0
will make it appear in the same direction as the UI
appears, when no PSPDFKit.ViewState#pagesRotation is set.
Text annotations support free rotation using integers between 0° and 359°. Negative values or values above 359 are normalized to this interval. Attempting to use non-integer values will result in an error.
Type:
- number
- Default Value:
- 0
An optional annotation subject, representing a short description of the subject being addressed by the annotation. This property has no effect on the annotation rendering.
Type:
- string
- Inherited From:
The visible contents in plain text/xhtml formats.
We use a simple newline delimiter \n
for multi
line texts in case of plain text. A trailing newline (e.g. foobar\n
) will result in an additional line.
In case of XHTML, we support the following tags:
<b>
: Bold<i>
: Italic<span>
: Font color, background color and underline using thestyle
attribute (e.g.<span style="color: red; background-color: blue; text-decoration: underline">Hello</span>
)p
: Paragraph. You can use this to add a newline between paragraphs.
Type:
- Default Value:
- { format: "plain", value: "" }
Example
const { value, format } = annotation.text;
The date of last annotation update.
Type:
- Date
- Inherited From:
The vertical alignment of the text inside the bounding box. Can be either one of:
top
center
bottom
Type:
- "top" | "center" | "bottom"
- Default Value:
- "top"