원클릭으로
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