iiuniversitet.ruЦентр обучения нейросетямОткрыть каталог

Работа с PDF в просмотрщике

Открывает PDF в живом просмотрщике, где можно делать пометки, выделять, ставить штампы, заполнять формы и размещать подпись.

СкиллAnthropicClaudeApache-2.0Нужен терминалПроверка не требуется
Что делает
Открывает PDF в живом просмотрщике, где можно делать пометки, выделять, ставить штампы, заполнять формы и размещать подпись.
Когда брать
Когда нужно показать документ и вместе с Claude разметить его, заполнить форму, поставить штамп или вставить изображение подписи.
Когда не брать
Для пересказа и извлечения текста из PDF: для этого достаточно обычного чтения файла.
Пример запроса
Открой этот договор, выдели ключевые условия и покажи мне на странице.
Нужно подключить
PDF-сервер (MCP)

Входит в плагин pdf-viewer. В Cowork и Claude Code можно поставить плагин целиком.

Как включить

  1. Скачайте архив и распакуйте его.
  2. Положите папку view-pdf в ~/.claude/skills/.
  3. Откройте Claude Code и опишите задачу своими словами: Claude подхватит скилл по описанию.

Текст

---
name: view-pdf
description: Интерактивный просмотрщик PDF. Используй, когда пользователь хочет открыть, показать или посмотреть PDF и работать с ним наглядно: делать пометки, выделять, ставить штампы, заполнять поля форм, ставить подпись или инициалы, вместе просматривать правки. Не подходит для пересказа и извлечения текста (для этого используй встроенный инструмент Read).
---

Просмотрщик PDF — интерактивная работа с документами

У тебя есть доступ к локальному PDF-серверу, который показывает документы в живом просмотрщике и позволяет делать пометки, заполнять формы и ставить подписи с наглядной обратной связью в реальном времени.

Когда использовать этот скилл

Используй просмотрщик PDF, когда пользователю нужна интерактивность:

  • «Покажи мне этот договор» / «Открой эту статью»
  • «Выдели ключевые условия, я их просмотрю»
  • «Помоги заполнить эту форму»
  • «Подпиши на странице 3» / «Поставь мои инициалы на каждой странице»
  • «Поставь штамп КОНФИДЕНЦИАЛЬНО» / «Отметь как утверждённый»
  • «Проведи меня по документу и пометь важные места»

НЕ используй просмотрщик для простого чтения содержимого:

  • «Перескажи этот PDF» → используй встроенный инструмент Read напрямую
  • «Что написано на странице 5?» → используй Read
  • «Достань таблицу из раздела 3» → используй Read

Ценность просмотрщика — показать пользователю документ и вместе работать над пометками, а не передавать тебе текст потоком.

Инструменты

list_pdfs

Показывает доступные локальные PDF и разрешённые локальные каталоги. Без аргументов.

display_pdf

Открывает PDF в интерактивном просмотрщике. Вызывай один раз на документ.

  • url — путь к локальному файлу или адрес HTTPS
  • page — начальная страница (необязательно, по умолчанию 1)
  • elicit_form_inputs — если true, перед показом предлагает пользователю заполнить поля формы (используй для интерактивного заполнения форм)

Возвращает viewUUID — передавай его в каждый вызов interact. Повторный вызов display_pdf создаёт отдельный просмотрщик; вызовы interact с новым UUID не дойдут до того, на который смотрит пользователь.

Если в PDF есть заполняемые поля, также возвращает formFields (имя, тип, страница, ограничивающий прямоугольник) — используй эти координаты для размещения подписи.

interact

Все последующие действия после display_pdf. Передай viewUUID и одну или несколько команд. Объединяй несколько команд в один вызов через массив commands — они выполняются последовательно. Заканчивай пачки командой get_screenshot, чтобы визуально проверить изменения.

Действия с пометками:

  • add_annotations — добавить разметку (типы см. ниже)
  • update_annotations — изменить существующие (нужны id и type)
  • remove_annotations — удалить по массиву id
  • highlight_text — автоматически найти текст по запросу и выделить его (предпочтительнее ручных прямоугольников для разметки текста)

Действия навигации:

  • navigate (page), search (query), find (query, silent), search_navigate (matchIndex), zoom (scale 0.5–3.0)

Действия извлечения:

  • get_text — извлечь текст из диапазонов страниц (не больше 20 страниц). Используй, чтобы прочитать содержимое и решить, что помечать, а НЕ для пересказа.
  • get_screenshot — снять страницу как изображение (чтобы проверить свои пометки)

Действие с формой:

  • fill_form — заполнить именованные поля: fields: [{name, value}, ...]

Типы пометок

Всем пометкам нужны id (уникальная строка), type, page (нумерация с 1). Координаты задаются в пунктах PDF (1/72 дюйма), начало — верхний левый угол, ось Y растёт вниз. Формат US Letter — 612×792 пт.

ТипКлючевые свойстваДля чего
highlightrects, color?, content?Отметить важный текст
underlinerects, color?Подчеркнуть термины
strikethroughrects, color?Отметить удаления
notex, y, content, color?Комментарии-стикеры
freetextx, y, content, fontSize?Видимый текст на странице
rectanglex, y, width, height, color?, fillColor?Обвести области рамкой
circlex, y, width, height, color?, fillColor?Обвести области кругом
linex1, y1, x2, y2, color?Рисовать линии и стрелки
stampx, y, label, color?, rotation?УТВЕРЖДЕНО, ЧЕРНОВИК, КОНФИДЕНЦИАЛЬНО и т. д.
imageimageUrl, x?, y?, width?, height?Подписи, инициалы, логотипы

Пометки-изображения принимают путь к локальному файлу или адрес HTTPS (URI вида data: не поддерживаются). Размеры определяются автоматически, если их не указать. Пользователь также может перетащить изображения прямо на просмотрщик.

Интерактивные сценарии

Совместная разметка (ведёт ИИ)

  1. display_pdf, чтобы открыть документ
  2. interact → get_text по нужному диапазону страниц, чтобы понять содержание
  3. Предложи пользователю пачку пометок (опиши, что ты отметишь)
  4. После одобрения: interact → add_annotations + get_screenshot
  5. Покажи пользователю, спроси о правках, повтори
  6. Когда закончите, напомни, что размеченный PDF можно скачать с панели инструментов просмотрщика

Заполнение форм (наглядное, а не программное)

В отличие от безэкранных инструментов для форм, здесь пользователь получает наглядную обратную связь в реальном времени, а формы с загадочными или безымянными полями, где подпись напечатана на странице, а не в метаданных поля, тоже обрабатываются.

  1. display_pdf — изучи возвращённые formFields (имя, тип, страница, ограничивающий прямоугольник)
  2. Если имена полей непонятные (Text1, Field_7), сделай get_screenshot страниц и сопоставь ограничивающие прямоугольники с видимыми подписями
  3. Спроси у пользователя значения, называя поля по видимым подписям, или выведи их из контекста
  4. interact → fill_form, затем get_screenshot, чтобы показать результат
  5. Пользователь подтверждает или правит прямо в просмотрщике

Для простых форм с понятными подписями display_pdf с elicit_form_inputs: true запрашивает значения у пользователя заранее.

Подписание (наглядное, не заверенное)

  1. Спроси путь к изображению подписи или инициалов
  2. display_pdf, проверь formFields на поля типа «подпись» или спроси, на какой странице и в каком месте
  3. interact → add_annotations с type: "image" по целевым координатам
  4. get_screenshot, чтобы подтвердить размещение

Оговорка: это ставит изображение подписи. Это не заверенная и не криптографическая электронная подпись.

Поддерживаемые источники

  • Локальные файлы (пути внутри корневых каталогов клиента MCP)
  • arXiv (адреса вида /abs/ автоматически превращаются в PDF)
  • Любой прямой адрес PDF по HTTPS (bioRxiv, Zenodo, OSF и т. д. — используй прямую ссылку на PDF, а не страницу описания)

За пределами возможностей

  • Пересказ и извлечение текста — используй встроенный инструмент Read
  • Заверенные электронные подписи — только наложение изображения
  • Создание PDF — скилл работает только с уже существующими PDF

Перевод: iiuniversitet. Оригинал: https://github.com/anthropics/knowledge-work-plugins/tree/main/pdf-viewer/skills/view-pdf, лицензия Apache-2.0. Изменения: перевод на русский язык.

Оригинал на английском
---
name: view-pdf
description: Interactive PDF viewer. Use when the user wants to open, show, or view a PDF and collaborate on it visually — annotate, highlight, stamp, fill form fields, place signature/initials, or review markup together. Not for summarization or text extraction (use native Read instead).
---

# PDF Viewer — Interactive Document Workflows

You have access to a local PDF server that renders documents in a live
viewer and lets you annotate, fill forms, and place signatures with
real-time visual feedback.

## When to use this skill

**Use the PDF viewer when the user wants interactivity:**
- "Show me this contract" / "Open this paper"
- "Highlight the key terms and let me review"
- "Help me fill out this form"
- "Sign this on page 3" / "Add my initials to each page"
- "Stamp this CONFIDENTIAL" / "Mark this as approved"
- "Walk me through this document and annotate the important parts"

**Do NOT use the viewer for pure ingestion:**
- "Summarize this PDF" → use the native Read tool directly
- "What does page 5 say?" → use Read
- "Extract the table from section 3" → use Read

The viewer's value is showing the user the document and collaborating
on markup — not streaming text back to you.

## Tools

### `list_pdfs`
List available local PDFs and allowed local directories. No arguments.

### `display_pdf`
Open a PDF in the interactive viewer. **Call once per document.**
- `url` — local file path or HTTPS URL
- `page` — initial page (optional, default 1)
- `elicit_form_inputs` — if `true`, prompts the user to fill form
  fields before displaying (use for interactive form-filling)

Returns a `viewUUID` — pass this to every `interact` call. Calling
`display_pdf` again creates a **separate** viewer; interact calls with
the new UUID won't reach the one the user is looking at.

Also returns `formFields` (name, type, page, bounding box) if the PDF
has fillable fields — use these coordinates for signature placement.

### `interact`
All follow-up actions after `display_pdf`. Pass `viewUUID` plus one or
more commands. **Batch multiple commands in one call** via the
`commands` array — they run sequentially. End batches with
`get_screenshot` to verify changes visually.

**Annotation actions:**
- `add_annotations` — add markup (see types below)
- `update_annotations` — modify existing (id + type required)
- `remove_annotations` — delete by id array
- `highlight_text` — auto-find text by query and highlight it
  (preferred over manual rects for text markup)

**Navigation actions:**
- `navigate` (page), `search` (query), `find` (query, silent),
  `search_navigate` (matchIndex), `zoom` (scale 0.5–3.0)

**Extraction actions:**
- `get_text` — extract text from page ranges (max 20 pages). Use for
  reading content to decide what to annotate, NOT for summarization.
- `get_screenshot` — capture a page as an image (verify your annotations)

**Form action:**
- `fill_form` — fill named fields: `fields: [{name, value}, ...]`

## Annotation Types

All annotations need `id` (unique string), `type`, `page` (1-indexed).
Coordinates are PDF points (1/72 inch), origin **top-left**, Y increases
downward. US Letter is 612×792pt.

| Type | Key properties | Use for |
|------|----------------|---------|
| `highlight` | `rects`, `color?`, `content?` | Mark important text |
| `underline` | `rects`, `color?` | Emphasize terms |
| `strikethrough` | `rects`, `color?` | Mark deletions |
| `note` | `x`, `y`, `content`, `color?` | Sticky-note comments |
| `freetext` | `x`, `y`, `content`, `fontSize?` | Visible text on page |
| `rectangle` | `x`, `y`, `width`, `height`, `color?`, `fillColor?` | Box regions |
| `circle` | `x`, `y`, `width`, `height`, `color?`, `fillColor?` | Circle regions |
| `line` | `x1`, `y1`, `x2`, `y2`, `color?` | Draw lines/arrows |
| `stamp` | `x`, `y`, `label`, `color?`, `rotation?` | APPROVED, DRAFT, CONFIDENTIAL, etc. |
| `image` | `imageUrl`, `x?`, `y?`, `width?`, `height?` | **Signatures, initials**, logos |

**Image annotations** accept a local file path or HTTPS URL (no data:
URIs). Dimensions auto-detected if omitted. Users can also drag & drop
images directly onto the viewer.

## Interactive Workflows

### Collaborative annotation (AI-driven)
1. `display_pdf` to open the document
2. `interact` → `get_text` on relevant page range to understand content
3. Propose a batch of annotations to the user (describe what you'll mark)
4. On approval, `interact` → `add_annotations` + `get_screenshot`
5. Show the user, ask for edits, iterate
6. When done, remind them they can download the annotated PDF from the
   viewer toolbar

### Form filling (visual, not programmatic)
Unlike headless form tools, this gives the user **live visual
feedback** and handles forms with cryptic/unnamed fields where the
label is printed on the page rather than in field metadata.

1. `display_pdf` — inspect returned `formFields` (name, type, page,
   bounding box)
2. If field names are cryptic (`Text1`, `Field_7`), `get_screenshot`
   the pages and match bounding boxes to visual labels
3. Ask the user for values using the **visual** labels, or infer from
   context
4. `interact` → `fill_form`, then `get_screenshot` to show the result
5. User confirms or edits directly in the viewer

For simple well-labeled forms, `display_pdf` with
`elicit_form_inputs: true` prompts the user upfront instead.

### Signing (visual, not certified)
1. Ask for the signature/initials image path
2. `display_pdf`, check `formFields` for signature-type fields or ask
   which page/position
3. `interact` → `add_annotations` with `type: "image"` at the target
   coordinates
4. `get_screenshot` to confirm placement

**Disclaimer:** This places a visual signature image. It is **not** a
certified or cryptographic digital signature.

## Supported Sources

- Local files (paths under client MCP roots)
- arXiv (`/abs/` URLs auto-convert to PDF)
- Any direct HTTPS PDF URL (bioRxiv, Zenodo, OSF, etc. — use the
  direct PDF link, not the landing page)

## Out of Scope

- **Summarization / text extraction** — use native Read instead
- **Certified digital signatures** — image stamping only
- **PDF creation** — this works on existing PDFs only

Источник: anthropics/knowledge-work-plugins / pdf-viewer / view-pdf ↗. Ссылка проверена 2026-10-10.