---
description: Place a signature or initials image on a PDF
argument-hint: "[path-or-url] [signature-image-path]"
---

> If you need to check which tools are connected, see [CONNECTORS.md](../CONNECTORS.md).

# Sign PDF

Add a visual signature or initials to a document using an image
annotation.

> **Disclaimer:** This places your signature **image** on the page. It
> is **not** a certified or cryptographic digital signature. For
> legally binding e-signatures, use a dedicated signing service.

## Workflow

1. **Get the signature image** — ask the user for a local file path
   (PNG/JPG) to their signature or initials. If they don't have one,
   suggest they create one and save it to a known path.

2. **Open the PDF** — `display_pdf` (or reuse existing `viewUUID`).
   Check the returned `formFields` for signature-type fields — they
   include page and bounding-box coordinates.

3. **Locate the target** — if there's a signature field, use its
   coordinates. Otherwise ask: "Which page, and where on the page?
   (e.g., bottom-right of page 3)"

4. **Place it** — `interact` → `add_annotations`:
   ```json
   {"action": "add_annotations", "annotations": [
     {"id": "sig1", "type": "image", "page": 3,
      "imageUrl": "/path/to/signature.png",
      "x": 400, "y": 700, "width": 150}
   ]}
   ```
   Width/height auto-detected from the image if omitted.

5. **Verify** — follow with `get_screenshot` of that page. Show the
   user. Adjust position if needed via `update_annotations`.

6. **Initials on every page** — batch one `image` annotation per page
   in a single `add_annotations` call.

## Tips

- `imageUrl` accepts local file paths or HTTPS URLs (no data: URIs)
- Users can also drag & drop the signature image directly onto the
  viewer
- Coordinate origin is top-left; a typical bottom-right signature on
  US Letter is around `x: 400, y: 700`
- Pair with `/pdf-viewer:fill-form` for complete form workflows
