Скилл PDF описывает рабочие способы читать, создавать, преобразовывать и проверять PDF-файлы. Для базового чтения источник предлагает pypdf PdfReader и последовательное извлечение текста со страниц. Тот же пакет используется для объединения документов через PdfWriter, разделения по страницам, поворота отдельных страниц и чтения метаданных. Это прямой сценарий для операций над существующими файлами, где важно сохранить понятную последовательность: прочитать входные документы, добавить или выбрать страницы и записать новый результат. Для текста и таблиц карточка опирается на pdfplumber: из каждой страницы можно получить текст, вызвать extract_tables и собрать найденные таблицы в общий набор данных. Для создания PDF источник показывает reportlab с SimpleDocTemplate, Paragraph, Spacer и PageBreak, а также низкоуровневый canvas для текста и линий. Это позволяет подготовить новый отчёт, добавить заголовки, абзацы, разделители и несколько страниц. В примере с reportlab для таблицы используются структурированные Paragraph и PageBreak, а не вставка случайных символов в поток текста. Официальный reference.md добавляет варианты для визуальной обработки. pypdfium2 позволяет быстро открыть документ, отрендерить страницу в bitmap с заданным scale и сохранить её как PNG или JPEG, а также извлечь текст. В JavaScript-сценариях pdf-lib умеет загружать существующий PDF, добавлять страницы, рисовать текст и прямоугольники, встраивать стандартные шрифты, сохранять новый файл и копировать страницы из нескольких документов для merge. pdfjs-dist предназначен для браузерного чтения и рендеринга: он загружает документ, получает viewport, рисует страницу на canvas, извлекает текст с координатами и читает annotations. Для командной проверки источник указывает pdftotext с режимом -bbox-layout, который сохраняет координаты текста в XML, и pdftoppm для конвертации страниц в изображения с выбранным разрешением. Поэтому скилл можно применять к разным задачам: извлечь текст, проверить структуру таблиц, собрать новый отчёт, объединить страницы, визуально сравнить рендер и получить координаты элементов для дальнейшего анализа. Ограничение нужно учитывать заранее: конкретный инструмент выбирается по задаче и окружению, а пример библиотеки не гарантирует одинаковое качество извлечения для любого PDF. Для сложной вёрстки, сканов, аннотаций и форм результат следует дополнительно проверять по визуальному рендеру и структуре исходного файла.
Для чего подходит
- Извлечение текста и таблиц
- Объединение и разделение PDF
- OCR и заполнение форм
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/anthropics/skills/tree/main/skills/pdf