PDF Tools

v0.1.0

View, extract, edit, and manipulate PDF files. Supports text extraction, text editing (overlay and replacement), merging, splitting, rotating pages, and getting PDF metadata. Use when working with PDF documents for reading content, adding/editing text, reorganizing pages, combining files, or extracting information.

2· 3.8k·47 current·48 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (view, extract, edit, merge, split, rotate, metadata) align with included scripts and library references (pdfplumber, PyPDF2, reportlab). All required functionality is implemented by local scripts; no unrelated capabilities or unexpected network/credential access are requested.
Instruction Scope
SKILL.md instructs running the included scripts against local PDF files only. Scripts validate file existence and act on provided paths. One inconsistency: SKILL.md quick-start lists only pdfplumber and PyPDF2, but edit_text.py imports reportlab (and README/references mention reportlab). If overlay functionality is used, reportlab must be installed or the script will exit with an import error.
Install Mechanism
This is an instruction-only skill with no install spec; dependencies are installed via pip per documentation. No downloads from untrusted URLs, no archives extracted by the installer, and no unusual install locations.
Credentials
The skill declares no required environment variables, no credentials, and no config paths. The scripts operate on local file paths provided by the user; there is no attempt to read environment secrets or other unrelated files.
Persistence & Privilege
always:false and user-invocable:true (defaults). The skill does not request persistent privileges or modify other skills or global agent configuration.
Assessment
This skill appears to do what it says: run the included Python scripts on PDF files. Before installing or running: 1) install the required Python packages (pdfplumber, PyPDF2) and also reportlab if you plan to use the overlay/edit features (SKILL.md omitted reportlab but edit_text.py imports it). 2) Be aware the replace operation uses simple byte-level replacement (unreliable and may corrupt complex PDFs); prefer overlay or extract→edit→regenerate workflows for critical documents. 3) The scripts act on local files only and do not contact external services or request credentials, but you should still run new skills in a sandbox or with test files first, especially if processing sensitive documents. If you need higher assurance, ask the author for a clear dependency list and a signed release or review the code locally before use.

Like a lobster shell, security has layers — review code before you run it.

latestvk97fyf1n44g56rnec1b29pdhn580mrz4
3.8kdownloads
2stars
1versions
Updated 1mo ago
v0.1.0
MIT-0

PDF Tools

Tools for viewing, extracting, and editing PDF files using Python libraries (pdfplumber and PyPDF2).

Quick Start

All scripts require dependencies:

pip3 install pdfplumber PyPDF2

Core Operations

Extract Text

Extract text from PDF (all pages or specific pages):

scripts/extract_text.py document.pdf
scripts/extract_text.py document.pdf -p 1 3 5
scripts/extract_text.py document.pdf -o output.txt

Get PDF Info

View metadata and structure:

scripts/pdf_info.py document.pdf
scripts/pdf_info.py document.pdf -f json

Merge PDFs

Combine multiple PDFs into one:

scripts/merge_pdfs.py file1.pdf file2.pdf file3.pdf -o merged.pdf

Split PDF

Split into individual pages:

scripts/split_pdf.py document.pdf -o output_dir/

Split by page ranges:

scripts/split_pdf.py document.pdf -o output_dir/ -m ranges -r "1-3,5-7,10-12"

Rotate Pages

Rotate all pages or specific pages:

scripts/rotate_pdf.py document.pdf -o rotated.pdf -r 90
scripts/rotate_pdf.py document.pdf -o rotated.pdf -r 180 -p 1 3 5

Edit Text

Add text overlay on a page:

scripts/edit_text.py document.pdf -o edited.pdf --overlay "New Text" --page 1 --x 100 --y 700
scripts/edit_text.py document.pdf -o edited.pdf --overlay "Watermark" --page 1 --x 200 --y 400 --font-size 20

Replace text (limited, works best for simple cases):

scripts/edit_text.py document.pdf -o edited.pdf --replace "Old Text" "New Text"

Note: PDF text editing is complex due to the format. The overlay method is more reliable than replacement.

Workflow Patterns

Viewing PDF Content

  1. Get basic info: scripts/pdf_info.py file.pdf
  2. Extract text to preview: scripts/extract_text.py file.pdf -p 1
  3. Extract full text if needed: scripts/extract_text.py file.pdf -o content.txt

Reorganizing PDFs

  1. Split into pages: scripts/split_pdf.py input.pdf -o pages/
  2. Merge selected pages: scripts/merge_pdfs.py pages/page_1.pdf pages/page_3.pdf -o reordered.pdf

Extracting Sections

  1. Get page count: scripts/pdf_info.py document.pdf
  2. Split by ranges: scripts/split_pdf.py document.pdf -o sections/ -m ranges -r "1-5,10-15"

Advanced Usage

For detailed library documentation and advanced patterns, see references/libraries.md.

Notes

  • Page numbers are 1-indexed in all scripts (page 1 = first page)
  • Text extraction works best with text-based PDFs (not scanned images)
  • Rotation angles: 90, 180, 270, or -90 (counterclockwise)
  • All scripts validate file existence before processing

Comments

Loading comments...