一键导入
Extract text, merge, split, and search PDF documents. Use whenever the user mentions a PDF file.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Extract text, merge, split, and search PDF documents. Use whenever the user mentions a PDF file.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Navigate large codebases and make surgical edits while following project conventions. Use for refactors, feature work, and bug fixes spanning multiple files.
Inspect, filter, and summarize JSON, CSV, and log data using jq, awk, and pandas.
Read and edit Microsoft Word documents (.docx). Use for document editing and content extraction.
Branch, commit, rebase, and resolve conflicts. Use for PR prep, conventional commit messages, and history cleanup.
Author and edit README, CHANGELOG, and other markdown documentation, following the project's existing style.
Read, write, and transform CSV and XLSX files. Use for Excel, tabular data, bulk row edits, and column transforms.
| name | |
| description | Extract text, merge, split, and search PDF documents. Use whenever the user mentions a PDF file. |
pypdf (pure Python) via run_code first.pypdf is not installed, install via execute_shell: pip install --user pypdfpdftotext (poppler) via execute_shell.tesseract + ocrmypdf.Extract text from all pages:
import pypdf
reader = pypdf.PdfReader("/path/to/file.pdf")
for i, page in enumerate(reader.pages):
text = page.extract_text()
print(f"--- Page {i+1} ---")
print(text)
Extract text from page range:
import pypdf
reader = pypdf.PdfReader("/path/to/file.pdf")
# Pages 3-5 (0-indexed: 2-4)
for page in reader.pages[2:5]:
print(page.extract_text())
Get page count and metadata:
import pypdf
reader = pypdf.PdfReader("/path/to/file.pdf")
print(f"Pages: {len(reader.pages)}")
print(f"Metadata: {reader.metadata}")
Merge PDFs:
import pypdf
merger = pypdf.PdfMerger()
for path in ["/path/a.pdf", "/path/b.pdf", "/path/c.pdf"]:
merger.append(path)
merger.write("/path/merged.pdf")
merger.close()
print("Merged.")
Split: extract pages 3-7 to a new file:
import pypdf
reader = pypdf.PdfReader("/path/to/file.pdf")
writer = pypdf.PdfWriter()
for page in reader.pages[2:7]: # 0-indexed
writer.add_page(page)
with open("/path/pages_3_to_7.pdf", "wb") as f:
writer.write(f)
Fallback: pdftotext via execute_shell (requires poppler):
pdftotext /path/to/file.pdf - # stdout
pdftotext -f 3 -l 7 /path/to/file.pdf output.txt # page range
Check if poppler is installed:
command -v pdftotext && echo "available" || echo "not found"
pypdf extraction returns empty strings. Use OCR fallback.reader = pypdf.PdfReader(path, password="secret").pypdf is a third-party package. Install via execute_shell before using in run_code.scripts/pdf_text.py — extract text with optional page rangescripts/pdf_merge.py — merge a list of PDFs into one