> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/web/annotation.md).

# Annotation

- [WebViewer JavaScript PDF Annotation Library](https://docs.apryse.com/web/annotation/annotation.md): Enhance PDF documents with the JavaScript PDF Annotation Library. Easily create, manage, and customize annotations using Apryse's Web SDK for seamless collaboration and document markup. The Apryse Web
- [Freeform rotation for custom rectangular annotations](https://docs.apryse.com/web/annotation/annotation/custom-annotation-freeform-rotation.md): Learn how to enable freeform rotation for custom rectangular annotations in WebViewer. This guide covers defining rectangular annotations, adding rotation functionality, and drawing rotated annotation
- [Freeform rotation for custom path-based annotations](https://docs.apryse.com/web/annotation/annotation/custom-annotation-freeform-rotation-path.md): Enhance annotations with freeform rotation. Learn to enable rotation for Line, Polygon, Freehand, and more. Step-by-step guide for custom path-based annotations. The Apryse Web SDK streamlines secure,
- [AnnotationManager](https://docs.apryse.com/web/annotation/annotationmanager.md)
- [Introduction to the AnnotationManager](https://docs.apryse.com/web/annotation/annotationmanager/annotationmanager.md): Learn how to interact with annotations using the AnnotationManager for web. Access, fetch, add, and delete annotations easily with this essential tool. Master annotation management now! The Apryse Web
- [Working with annotation selection using the AnnotationManager](https://docs.apryse.com/web/annotation/annotationmanager/annotation-selection.md): Learn how to efficiently work with annotation selection using the AnnotationManager. Select, deselect, and jump to annotations easily for a seamless viewer experience using web. The Apryse Web SDK str
- [Grouping annotations through the AnnotationManager](https://docs.apryse.com/web/annotation/annotationmanager/grouping.md): Learn how to group annotations using AnnotationManager for web. Keep annotations together for more meaningful commentary on your documents. Group and ungroup annotations easily, both in the UI and pro
- [Toggling annotation visibility using the AnnotationManager](https://docs.apryse.com/web/annotation/annotationmanager/annotation-visibility.md): Learn how to toggle annotation visibility efficiently using the AnnotationManager. Control which annotations are displayed or hidden with ease using web. The Apryse Web SDK streamlines secure, serverl
- [Aligning annotations with Annotation Manager](https://docs.apryse.com/web/annotation/annotationmanager/annotation-alignment.md): Aligning annotations overview.
- [Set User Annotation Permissions in WebViewer JavaScript PDF Viewer](https://docs.apryse.com/web/annotation/annotationmanager/permissions.md): Control user annotation permissions using web viewer with ease. Define who can modify annotations and customize settings. Learn about default behaviors, editable vs. non-editable annotations, admin us
- [Customize display authors for annotations](https://docs.apryse.com/web/annotation/annotationmanager/display-authors.md): Customize display authors for annotations in WebViewer by setting unique IDs as authors instead of usernames. Learn how to map userIds to display names for a user-friendly experience. Export annotatio
- [Creating replies for PDF annotations](https://docs.apryse.com/web/annotation/annotationmanager/replies.md): Learn how to create replies for PDF annotations effortlessly with the AnnotationManager. Discover how to leverage the isReply API and getReplies function to manage annotations effectively. Use the cre
- [Create Annotations in WebViewer JavaScript PDF Viewer](https://docs.apryse.com/web/annotation/create-annotations.md): Learn how to create annotations in WebViewer effortlessly. Discover where to find annotation tools, switch between them, and create annotations programmatically. Master the art of updating and cloning
- [Annotation Types](https://docs.apryse.com/web/annotation/annotation-types.md)
- [Determine annotation types in Apryse WebViewer](https://docs.apryse.com/web/annotation/annotation-types/overview.md): To determine annotation types, programmatically, you may need to review a mix of annotation properties. Most can be distinguished using only the instanceof property, but, for those that share the same
- [Work with Highlight Annotations in WebViewer](https://docs.apryse.com/web/annotation/annotation-types/highlightannotation.md): Elevate your text with Highlight Annotations, which mark text in vibrant colors akin to a highlighter pen. Explore key properties and functionalities for effective usage using web. The Apryse Web SDK
- [Underline Annotations](https://docs.apryse.com/web/annotation/annotation-types/underlineannotation.md): Enhance your text annotations with underline annotations that highlight text effectively. Explore key properties like StrokeColor, Quads, and more for precise customization using web. The Apryse Web S
- [Strikeout Annotations](https://docs.apryse.com/web/annotation/annotation-types/strikeoutannotation.md): Enhance your documents with strikeout annotations. Learn how to create, customize, and manage strikeout annotations using web. Explore essential properties and settings for precise text editing. The A
- [Squiggly Annotations](https://docs.apryse.com/web/annotation/annotation-types/squigglyannotation.md): Enhance text annotations with squiggly underlines using Squiggly Annotations. Learn how to set stroke colors, page numbers, quads, and more with this comprehensive guide. The Apryse Web SDK streamline
- [Sticky Note Annotations](https://docs.apryse.com/web/annotation/annotation-types/stickynoteannotation.md): Enhance document collaboration with sticky note annotations. Learn how to add comments, replies, and customize properties for precise feedback using web. The Apryse Web SDK streamlines secure, serverl
- [Work with FreeText and Callout Annotations in WebViewer](https://docs.apryse.com/web/annotation/annotation-types/freetextannotation.md): Enhance your PDFs with FreeText & Callout Annotations. Learn how to add text and reference specific elements on a page effectively. Explore properties like PageNumber, X, Y, Width, and more for precis
- [Rectangle Annotations](https://docs.apryse.com/web/annotation/annotation-types/rectangleannotation.md): Create professional rectangle annotations with ease. Highlight key areas on your document using fill and stroke colors. Customize border styles for solid, dashed, or cloudy effects. Explore XFDFElemen
- [Ellipse Annotations](https://docs.apryse.com/web/annotation/annotation-types/ellipseannotation.md): Learn how to use ellipse annotations to highlight areas on a document effectively. Customize fill, stroke colors, and border styles for attention-grabbing results. Explore XFDF element name: circle an
- [Polygon Annotations](https://docs.apryse.com/web/annotation/annotation-types/polygonannotation.md): Enhance user experience with polygon annotations, allowing creation of closed shapes with customizable fill and stroke colors. Learn how to add points, change border styles, and more using web. The Ap
- [Line Annotations](https://docs.apryse.com/web/annotation/annotation-types/lineannotation.md): Create precise line annotations with start and end points. Customize stroke color, border style, and line endings. Explore XFDFElement properties for page number, start, end, stroke color, and more. T
- [Polyline Annotations](https://docs.apryse.com/web/annotation/annotation-types/polylineannotation.md): Enhance document collaboration with Polyline Annotations. Draw multiple connected lines with start and ending styles on your documents. Explore stroke colors, border styles, and more for precise annot
- [Free Hand Annotations](https://docs.apryse.com/web/annotation/annotation-types/freehandannotation.md): Enhance your documents with free hand annotations. Create strokes for signatures effortlessly. Adjust stroke thickness and color for a personalized touch. Explore more in our API docs. The Apryse Web
- [Work with Stamp Annotations in WebViewer](https://docs.apryse.com/web/annotation/annotation-types/stampannotation.md): Learn how to use stamp annotations in PDF documents. Stamp annotations allow users to place versatile image annotations on any page. Create custom stamps with WebViewer and sign documents easily. The
- [File Attachment Annotations](https://docs.apryse.com/web/annotation/annotation-types/fileattachmentannotation.md): Enhance document interactivity with file attachment annotations. Annotate files within documents, download them, and maintain consistent size and orientation across zoom levels. Explore customization
- [Redaction Annotations](https://docs.apryse.com/web/annotation/annotation-types/redactionannotation.md): Discover how redaction annotations can be used to mark and redact sensitive content in PDFs. Learn about text selection, rectangle redactions, and the two-step process for creating and applying redact
- [Caret Annotations](https://docs.apryse.com/web/annotation/annotation-types/caretannotation.md): Enhance your document editing experience with Caret annotations. Learn how to mark text for changes and utilize key properties like StrokeColor, Author, and more. Explore the full list of properties i
- [Work with Arc Annotations in WebViewer](https://docs.apryse.com/web/annotation/annotation-types/arcannotation.md): Learn how to create arcs in PDF documents using WebViewer. Explore how arc annotations render arcs on a document with three path points: start, middle, and end. Find out more about the properties, met
- [Work with Custom Annotations in WebViewer](https://docs.apryse.com/web/annotation/annotation-types/customannotation.md): Create custom annotations with WebViewer to enhance your PDFs. Stamp annotations can be programmatically added and viewed across different viewers. Customize rendering and functionality to suit your n
- [Customize](https://docs.apryse.com/web/annotation/customize.md)
- [Custom Annotations in WebViewer](https://docs.apryse.com/web/annotation/customize/creating-custom-annotations.md): Learn how to create and customize non-standard annotations in WebViewer. Tailor your annotations to fit your needs and seamlessly view them across different platforms. The Apryse Web SDK streamlines s
- [Custom Selection Models in WebViewer](https://docs.apryse.com/web/annotation/customize/custom-selection-models.md): Enhance user experience with custom selection models in WebViewer. Customize selection boxes for annotations to stand out and improve interaction. Learn how to create and modify selection models effic
- [Creating custom annotations for your viewer](https://docs.apryse.com/web/annotation/customize/custom-annotations.md): Create unique annotations for your viewer with WebViewer. Customize appearance and behavior of annotations, selection box, and control handles. Learn to create a custom triangle annotation effortlessl
- [Customize annotation rendering](https://docs.apryse.com/web/annotation/customize/customize-rendering.md): Customize annotation rendering in WebViewer using setCustomDrawHandler API. Change how annotations are visually represented on screen for both standard and custom annotations. The Apryse Web SDK strea
- [Customize Annotation Serialization](https://docs.apryse.com/web/annotation/customize/customize-serialization.md): Customize Annotation Serialization to tailor XFDF serialization in WebViewer. Learn to serialize custom properties and read them back with setCustomSerializeHandler and setCustomDeserializeHandler API
- [Annotation Rects & Quads](https://docs.apryse.com/web/annotation/rect-and-quads.md): Enhance your document annotations with Rects & Quads using Apryse Web SDK. Learn how to represent annotation bodies as rectangles or arrays for precise dimensions, intersections, and transformations.
- [Import and Export Annotations with JavaScript](https://docs.apryse.com/web/annotation/import-export.md): Efficiently manage annotations with our guide on importing/exporting annotations using web. Explore various methods like file, database, and document for seamless data transfer. Master XFDF format for
- [Remove PDF annotations using Javascript](https://docs.apryse.com/web/annotation/remove-annotations.md): Remove PDF annotations effortlessly using JavaScript. Learn how to delete annotations programmatically or via the WebViewer UI. Customize and save PDFs seamlessly with sample code provided. The Apryse
- [PDF Annotation Statuses](https://docs.apryse.com/web/annotation/annotation-state.md): Enhance your PDF workflow with annotation statuses like Accepted, Rejected, and Completed. Learn how to customize and update states programmatically on web. The Apryse Web SDK streamlines secure, serv
- [Flatten PDF annotations using JavaScript](https://docs.apryse.com/web/annotation/flatten-annotations.md): Here is your guide explaining how to flatten annotation in viewer, how to flatten selected annotation and how to get PDF data with flattened annotation
- [Freeform rotation for PDF annotations](https://docs.apryse.com/web/annotation/freeform-rotation.md): Enhance PDF annotations with freeform rotation capabilities. Rotate Line, Polygon, Freehand, and more with a 360-degree control handle. Learn how to enable, disable, and configure rotation options pro
- [Custom selection model](https://docs.apryse.com/web/annotation/custom-selection-model.md): Enhance user experience with a custom selection model using HTML Canvas APIs. Customize ControlHandle and SelectionModel classes to create unique selection handles and outlines. The Apryse Web SDK str
- [Import and Export Annotations to PDF Viewer as XFDF](https://docs.apryse.com/web/annotation/xfdf.md): We show you how to use XFDF to format to import & export annotation data from a PDF document.
- [Annotation tools for your viewer](https://docs.apryse.com/web/annotation/annotations-and-tools.md): Enhance viewer engagement with annotation tools that enable text selection, panning, and more. Discover how these tools capture user inputs effortlessly for seamless interaction on web. The Apryse Web
- [Add Link to PDF Annotations](https://docs.apryse.com/web/annotation/add-link-to-annotation.md): Enhance your PDF annotations by adding clickable links to direct users within the document or to external URLs. Learn how to attach hyperlinks to visual annotations for a more interactive experience.
- [Annotation Numbering](https://docs.apryse.com/web/annotation/annotation-numbering.md): Automatically number annotations in WebViewer for easier tracking. Enable annotation numbering to assign a unique number to each annotation, simplifying organization and management. Learn how to utili
- [Customizing annotation tools](https://docs.apryse.com/web/annotation/customizing-tools.md): Learn how to customize tools in WebViewer UI with specific APIs for enabling/disabling, updating properties, extending built-in tools, and more. Enhance user experience with tailored tool functionalit
- [Customizing default annotation styles](https://docs.apryse.com/web/annotation/customizing-default-annotation-styles.md): Discover how to customize default annotation styles effortlessly. Learn to tweak stroke color, thickness, fill color, text attributes, and more for a personalized touch. Elevate your annotations with
- [Add rich text PDF annotations](https://docs.apryse.com/web/annotation/rich-text.md): Enhance your PDF viewing experience with WebViewer's rich text content feature for freetext annotations. Customize font styles, colors, and more with easy-to-use APIs and events. Learn how to optimize
- [Configure PDF stamps with JavaScript](https://docs.apryse.com/web/annotation/stamps.md): Learn how to create and customize standard and custom stamps in WebViewer. Control the appearance of stamps with APIs. Explore demo options for stamps and annotations. The Apryse Web SDK streamlines s
- [Custom PDF annotation appearances](https://docs.apryse.com/web/annotation/custom-appearances.md): Enhance PDF annotation visuals with custom appearances using WebViewer. Override default rendering with unique PDF objects or pages for a tailored look across all platforms. The Apryse Web SDK streaml
- [Exporting Inline Appearances for Annotations](https://docs.apryse.com/web/annotation/export-inline-appearances.md): Here is your guide explaining how to export inline appearances for annotations in viewer
- [Create 3D Annotations in WebViewer](https://docs.apryse.com/web/annotation/3d.md): Enhance your document collaboration with WebViewer's 3D Annotations feature. Easily add, manipulate, and view 3D annotations for interactive document engagement. The Apryse Web SDK streamlines secure,
- [Add attachments to PDF annotation](https://docs.apryse.com/web/annotation/annotation-attachments.md): Enhance PDF annotations with attachments using WebViewer. Easily add files to notes and replies, with image previews and persistent attachments. Customize behaviors with WebViewer APIs. The Apryse Web
- [Code samples for adding annotations using JavaScript](https://docs.apryse.com/web/annotation/samples.md): Learn how to save annotations to files, database, and back to documents on your server. Manage users, permissions, and create custom annotations effortlessly. The Apryse Web SDK streamlines secure, se
- [API for Annotating PDFs with JavaScript](https://docs.apryse.com/web/annotation/apis.md): Annotate PDFs effortlessly with JavaScript using AnnotationManager. Explore a range of annotation classes within the Annotations namespace for seamless PDF annotation using web. The Apryse Web SDK str


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.apryse.com/web/annotation.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
