| name | cli-anything-acrobat |
| description | Adobe Acrobat DC command-line interface for PDF operations: format conversion (PDF→DOCX/XLSX/PPTX/PNG/etc.), page manipulation (delete/extract/rotate/reorder), merge, split, metadata, and text extraction. Requires Adobe Acrobat DC installed. Uses Acrobat's native engine for conversion; pypdf/PyMuPDF for headless operations. |
| agent_guidance | Always use --json for parseable output. Use absolute paths. Check exit codes. Format conversion (export to) requires an active Adobe Acrobat Pro subscription. All other operations (merge, split, rotate, info, metadata reads) work without a subscription. |
cli-anything-acrobat
Adobe Acrobat DC command-line interface. Invokes the real Acrobat engine for format
conversion; uses pypdf/PyMuPDF for headless operations (merge, split, rotate, info).
Installation
pip install cli-anything-acrobat
pipx install cli-anything-acrobat
Requirements:
- Python 3.10+
- Adobe Acrobat DC installed at
/Applications/Adobe Acrobat DC/
- Active Adobe Acrobat Pro subscription (for format conversion only)
Quick Start
cli-anything-acrobat info document.pdf
cli-anything-acrobat --json info document.pdf
cli-anything-acrobat
Commands
info — PDF metadata and page count
cli-anything-acrobat info <pdf>
cli-anything-acrobat --json info <pdf>
Returns: page_count, title, author, subject, file_size, encrypted, paths.
export to — Convert PDF to another format (requires Acrobat Pro)
cli-anything-acrobat export to <pdf> <output>
cli-anything-acrobat export to report.pdf report.docx
cli-anything-acrobat export to report.pdf report.png
cli-anything-acrobat export to report.pdf --format xlsx report.xlsx
Format is inferred from output extension. Supported: docx, doc, xlsx, pptx,
png, jpeg, tiff, html, rtf, txt, eps, ps, xml.
cli-anything-acrobat export formats
cli-anything-acrobat --json export formats
pages — Page manipulation
cli-anything-acrobat pages info <pdf>
cli-anything-acrobat pages delete <pdf> 1,3-5 -o output.pdf
cli-anything-acrobat pages delete <pdf> last -o output.pdf
cli-anything-acrobat pages extract <pdf> 2-4 -o chapter.pdf
cli-anything-acrobat pages rotate <pdf> 90 -o rotated.pdf
cli-anything-acrobat pages rotate <pdf> 90 --pages 1,3,5 -o rotated.pdf
cli-anything-acrobat pages reorder <pdf> 3 1 2 -o reordered.pdf
Page specs: "3" (single), "1,3,5" (list), "2-5" (range), "1,3-5,7" (mixed),
"all", "last".
merge — Combine PDFs
cli-anything-acrobat merge a.pdf b.pdf c.pdf -o combined.pdf
cli-anything-acrobat --json merge a.pdf b.pdf -o out.pdf
Returns: total_pages, merged_files, output, file_size.
split — Split PDF into chunks
cli-anything-acrobat split report.pdf --pages-per-chunk 5 -d chunks/
cli-anything-acrobat split report.pdf --ranges "0-4,5-9" -d parts/
metadata — PDF metadata
cli-anything-acrobat metadata get <pdf>
cli-anything-acrobat --json metadata get <pdf>
cli-anything-acrobat metadata set <pdf> --title "My Doc" --author "Alice" -o out.pdf
text — Text extraction (pypdf/PyMuPDF, no Acrobat required)
cli-anything-acrobat text <pdf>
cli-anything-acrobat text <pdf> --pages 1-3
project — Session management
cli-anything-acrobat project new source.pdf -o project.json
cli-anything-acrobat project info -p project.json
REPL Mode
Run without subcommand for an interactive session with tab-completion:
cli-anything-acrobat
Output Format
All commands support --json for machine-readable output:
cli-anything-acrobat --json info doc.pdf
cli-anything-acrobat --json merge a.pdf b.pdf -o out.pdf
Exit codes: 0 = success, 1 = error (message on stderr).
Architecture Notes
- Format conversion (
export to): Uses Acrobat JS doc.saveAs({cConvID: ...}) via
osascript do script. Requires active Pro subscription. Stages output through /tmp/
(macOS sandbox workaround).
- Headless operations (
merge, split, rotate, info, text): Use pypdf /
PyMuPDF. No Acrobat running required.
- Page delete/extract: Uses pypdf by default; falls back to Acrobat for contiguous
ranges where fidelity matters (annotations, layers).
Version
1.0.0