Skip to main content

pdf-tools

Use when the user wants to read, summarise, extract text/tables from, split, merge, or fill a PDF. Explains when to read a PDF visually vs. extract its text, and how to manipulate PDFs via code execution.

Quellinformationen

Repository
ag2ai/ag2-assistant
Letzte Quellaktivität
2. Oktober 2026 um 15:51
Erkannte Sprache von SKILL.md
Englisch
Sterne
15
Forks
3

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
pdf-tools
description
Use when the user wants to read, summarise, extract text/tables from, split, merge, or fill a PDF. Explains when to read a PDF visually vs. extract its text, and how to manipulate PDFs via code execution.
version
1.0
license
Apache-2.0
# Working with PDFs ## Reading a PDF - To **understand or summarise** a PDF the user points you at, use the `read_file` tool with its path. AG2 Assistant hands PDFs to the model as visual content, so this works even for **scanned PDFs with no text layer** (forms, signed documents, image scans). Ask permission the first time if prompted. - For a **born-digital PDF where you need the exact text** (to quote precisely, count, or post-process), extract the text via code execution instead (below). ## Manipulating a PDF (code execution) Use the code-execution tool. Prefer `pypdf` (pure-Python, no system deps); fall back to `pdfplumber` for tables. Install on first use if missing (`pip install pypdf`). - **Extract text:** ```python from pypdf import PdfReader r = PdfReader("in.pdf") print("\n".join(page.extract_text() or "" for page in r.pages)) ``` - **Split / select pages:** ```python from pypdf import PdfReader, PdfWriter r = PdfReader("in.pdf") w = PdfWriter() for i in (0, 1, 2): # first three pages w.add_page(r.pages[i]) with open("out.pdf", "wb") as f: w.write(f) ``` - **Merge:** add pages from several `PdfReader`s into one `PdfWriter`. - **Tables:** `pdfplumber` → `page.extract_tables()` is more reliable than plain text extraction for tabular data. ## Tips - If text extraction returns empty strings, the PDF is scanned/image-only — read it visually with `read_file` instead. - Always tell the user where you wrote any output file. - Don't fabricate content you couldn't extract — say what failed and ask how to proceed.
Auf GitHub ansehen