Back to browse
pdf-toolkit
officialplatinum (7/8)Clean scan
PDF toolkit — merge, split, compress, encrypt, extract text from PDFs
Install
mayros skill install pdf-toolkit
mayros skill install [email protected]
README
name: pdf-toolkit description: PDF toolkit — merge, split, compress, encrypt, extract text from PDFs type: semantic user-invocable: true semantic: skillVersion: 1 permissions: graph: [read, write] memory: [recall, remember] assertions: - predicate: "pdf:processed" requireProof: false queries: - predicate: "pdf:processed" scope: agent - predicate: "pdf:context" scope: agent allowedTools: ["*"] metadata: mayros: requires: bins: [qpdf, gs, pdftotext]
pdf-toolkit
PDF manipulation toolkit using qpdf, ghostscript, and poppler-utils. Merge, split, compress, encrypt, decrypt, rotate, extract text, and convert PDFs.
Installation
- macOS:
brew install qpdf ghostscript poppler - Ubuntu/Debian:
sudo apt install qpdf ghostscript poppler-utils - Windows: Download from https://qpdf.sourceforge.io/ and https://ghostscript.com/
qpdf (primary tool -- fast, reliable)
# Merge PDFs
qpdf --empty --pages file1.pdf file2.pdf file3.pdf -- merged.pdf
# Split: extract pages 1-5
qpdf input.pdf --pages . 1-5 -- output.pdf
# Split: extract specific pages
qpdf input.pdf --pages . 1,3,5-7 -- output.pdf
# Remove pages (e.g., remove page 3)
qpdf input.pdf --pages . 1-2,4-z -- output.pdf
# Rotate pages (90, 180, 270)
qpdf input.pdf --rotate=90:1-3 -- output.pdf
# Encrypt with password
qpdf --encrypt user-pass owner-pass 256 -- input.pdf encrypted.pdf
# Decrypt
qpdf --decrypt --password=pass input.pdf decrypted.pdf
# Linearize (optimize for web)
qpdf --linearize input.pdf optimized.pdf
# Get PDF info
qpdf --show-npages input.pdf
qpdf --check input.pdf
# Overlay/underlay (watermark)
qpdf input.pdf --overlay watermark.pdf -- output.pdf
ghostscript (compression, rasterization)
# Compress PDF (reduce file size)
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \
-dNOPAUSE -dBATCH -sOutputFile=compressed.pdf input.pdf
# PDFSETTINGS options:
# /screen -- lowest quality, smallest size (72 dpi)
# /ebook -- medium quality (150 dpi) -- recommended default
# /printer -- high quality (300 dpi)
# /prepress -- highest quality (300 dpi, color preserved)
# Convert PDF to images
gs -sDEVICE=png16m -r300 -dNOPAUSE -dBATCH \
-sOutputFile=page_%03d.png input.pdf
poppler-utils (text extraction)
# Extract text from PDF
pdftotext input.pdf output.txt
# Extract text preserving layout
pdftotext -layout input.pdf output.txt
# Extract specific pages
pdftotext -f 1 -l 5 input.pdf output.txt
# Get PDF info (pages, size, metadata)
pdfinfo input.pdf
# Extract images from PDF
pdfimages -all input.pdf image_prefix
Safety
- Confirm before encrypting (losing the password means losing access to the file)
- Show file sizes before and after compression so the user can verify the result
- Warn before overwriting existing files
- Always show the page count before split/merge operations
Semantic Integration
- Use
skill_assertwithpdf:processedto record each completed operation - Use
skill_memory_contextto recall previous PDF processing history - Query
pdf:contextfor metadata about processed PDFs (page counts, sizes)
Versions
Comments
Sign in to leave a comment.
Loading comments...