PDF Reader
Quick start
pdf-reader extract report.pdf # Extract all text
pdf-reader extract report.pdf --layout # Preserve tables/columns
pdf-reader fetch https://example.com/doc.pdf # Download and extract
pdf-reader info report.pdf # Show metadata + size
pdf-reader list # List all PDFs in directory tree
Commands
extract — Extract text from PDF
pdf-reader extract <file> # Full text to stdout
pdf-reader extract <file> --layout # Preserve layout (tables, columns)
pdf-reader extract <file> --pages 1-5 # Pages 1 through 5
pdf-reader extract <file> --pages 3-3 # Single page (page 3)
pdf-reader extract <file> --layout --pages 2-10 # Layout + page range
Options:
--layout— Maintains spatial positioning. Essential for tables, spreadsheets, multi-column docs.--pages N-M— Extract only pages N through M (1-based, inclusive).
fetch — Download and extract PDF from URL
pdf-reader fetch <url> # Download, verify, extract with layout
pdf-reader fetch <url> report.pdf # Also save a local copy
Downloads the PDF, verifies it has a valid %PDF header, then extracts text with layout preservation. Temporary files are cleaned up automatically.
info — PDF metadata and file size
pdf-reader info <file>
Shows title, author, page count, page size, PDF version, and file size on disk.
list — Find all PDFs in directory tree
pdf-reader list
Recursively lists all .pdf files with page count and file size.
WhatsApp PDF attachments
When a user sends a PDF on WhatsApp, it is automatically saved to the attachments/ directory. The message will include a path hint like:
[PDF attached: attachments/document.pdf]
To read the attached PDF:
pdf-reader extract attachments/document.pdf --layout
Example workflows
Read a contract and summarize key terms
pdf-reader info attachments/contract.pdf
pdf-reader extract attachments/contract.pdf --layout
Extract specific pages from a long report
pdf-reader info report.pdf # Check total pages
pdf-reader extract report.pdf --pages 1-3 # Executive summary
pdf-reader extract report.pdf --pages 15-20 # Financial tables
Fetch and analyze a public document
pdf-reader fetch https://example.com/annual-report.pdf report.pdf
pdf-reader info report.pdf