> For the complete documentation index, see [llms.txt](https://docs.unitlab.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.unitlab.ai/documentation/annotations/document-and-pdf-annotation.md).

# Document & PDF Annotation

Document annotation combines page navigation, native text selection, visual regions, embedded images, and document-level context. The operator must distinguish page movement from moving to another project item.

### What this editor is designed to preserve

* Document identity, page identity, and page-relative position.
* Native text where available and region geometry where spatial context matters.
* Context across pages or companion files without losing the active editing source.

![Document and medical context in a grouped Workbench](https://292810646-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGjVLUz4wthGkGlRKM6rM%2Fuploads%2FQZdWfKj1GQBxWRof1s7r%2Fmedical-dicom-document.png?alt=media\&token=217997de-1a0e-4883-b14f-b3e44ce83dad)

*A custom layout can place a PDF beside another modality while keeping one panel active for annotation and the others available as evidence.*

### Read the Workbench before annotating

### Native PDF annotation

Document currently means PDF. One uploaded PDF remains one file and one work item; pages are internal surfaces inside that item. Assignment, workflow status, comments, review, history, and release remain document-level concepts rather than being duplicated per page.

The document editor intentionally uses the familiar Image Annotation UX:

* the same top app bar and work-item navigation;
* the same left visual-annotation toolbar;
* the same pan, select, draw, transform, zoom, undo, and redo behavior;
* the same right-side Objects, Classes, and Comment inspector;
* the same class assignment, properties, tags, relations, visibility, review, save, and history flows;
* visual markups including bounding box, cuboid, polygon, mask/semantic segmentation, skeleton, line, and point.

Document-specific controls appear only where required:

* a bottom-center page footer for multi-page navigation;
* **Select PDF Text** mode;
* document loading copy;
* page-aware annotations.

Top-center previous/next changes the project work item. The footer changes the page inside the current PDF. These actions are intentionally separate.

### Open and annotate a PDF

1. The user uploads a PDF through the normal mixed-data upload flow.
2. Unitlab detects the Document family and generates a first-page thumbnail.
3. The PDF appears in the project grid and relevant queues as one document item.
4. Opening it loads the PDF in the Workbench.
5. The active page is rendered as the visual annotation surface.
6. The user creates normal visual annotations with the standard tools.
7. Each saved object records its page number.
8. The object list shows annotations for the active page while off-page annotations remain preserved in the full document history.

### Page navigation

1. The user selects another page from the bottom footer.
2. The PDF file and work-item identity stay unchanged.
3. Unitlab loads the new page raster, selectable text layer, and embedded image regions.
4. The canvas shows only annotations belonging to that page.
5. Saving merges active-page changes back into the complete multi-page result without deleting annotations from other pages.

Adjacent pages may be prepared in advance, and a cached lower-resolution page can appear while a sharper render is prepared. Annotation geometry remains aligned to the document page rather than the temporary screen resolution.

### Select and copy native PDF text

1. The user activates **Select PDF Text**.
2. Browser-native text selection becomes available over the active page.
3. The user highlights embedded PDF text and copies it normally.
4. Leaving text-selection mode returns pointer control to normal annotation, transformation, and pan tools.

### Create a bounding box from selected text

1. The user highlights native PDF text.
2. Unitlab converts the selected text rectangles into page coordinates.
3. A normal editable bounding box is created.
4. Optional anchor metadata can preserve the selected text, source type, page, and rectangles.
5. The object continues through the standard class, property, save, review, history, and export lifecycle.

### Create a bounding box from an embedded PDF image

In Select PDF Text mode, Unitlab can identify embedded image regions exposed by the PDF and let the user create a normal bounding box from a selected region. This is embedded-image-region detection, not a promise of semantic figure recognition.

### Current document limits

The native selection layer does not semantically detect tables, equations, vector diagrams, or generic figures. Those tasks use document-understanding models or manual annotation rather than layout heuristics. Native and scanned PDFs can require different handling for OCR alignment, rotations, reading order, and very large page sets.

### The value of multimodal layout

The product’s stronger document story is contextual. A field incident may include a video, a report PDF, and audio; a medical case may include images and a clinical form; a support interaction may include text and speech. Grouping these sources into one task lets an annotator reason about the case rather than annotate unrelated files.

### From assigned task to review

{% stepper %}
{% step %}

#### 1. Confirm document context

Identify the document, page count, active page, project item, and workflow stage.
{% endstep %}

{% step %}

#### 2. Navigate within the document

Use page controls for the current PDF; use project navigation only to change work items.
{% endstep %}

{% step %}

#### 3. Select native content

Copy or annotate text from the PDF text layer when available.
{% endstep %}

{% step %}

#### 4. Create spatial regions

Draw or derive bounding regions from selected text or embedded images according to policy.
{% endstep %}

{% step %}

#### 5. Complete cross-page structure

Add entities, relations, classifications, or Item Properties that require document-level reasoning.
{% endstep %}

{% step %}

#### 6. Review page-aware output

Confirm page number, coordinates, text content, region alignment, and any current document limitations.
{% endstep %}
{% endstepper %}

### Modality-specific quality controls

| Decision           | Production guidance                                                                                     |
| ------------------ | ------------------------------------------------------------------------------------------------------- |
| Page identity      | Every region must remain attributable to the correct page.                                              |
| Text vs region     | Use native text for semantic extraction and geometry when spatial layout is part of the label contract. |
| Embedded images    | Confirm the region follows the actual image boundary and intended class.                                |
| Multimodal context | Use passive panels as evidence without annotating the wrong source.                                     |

### Route the result

Route unreadable pages, missing text layers, unsupported structures, or policy ambiguity through the defined invalid or escalation path; do not silently omit them.
