| name | pdf-tools |
| description | Search and extract content from PDF files. Use when searching PDFs, finding text in documents, or extracting specific pages without reading the entire file. |
| allowed-tools | Bash, Read, Glob |
PDF Tools
Search and extract content from PDFs without loading entire files into context.
Installation
brew install pdfgrep poppler
sudo apt install pdfgrep poppler-utils
Quick Reference
| Task | Command |
|---|
| Search | pdfgrep "term" file.pdf |
| Search with page numbers | pdfgrep -n "term" file.pdf |
| Search with context | pdfgrep -n -C 2 "term" file.pdf |
| Get page count | pdfinfo file.pdf | grep Pages |
| Extract pages 5-10 | pdftotext -f 5 -l 10 file.pdf - |
Core Workflow
Step 1: Search - Find where content lives
pdfgrep -n "authentication" large-manual.pdf
Step 2: Extract - Get just those pages
pdftotext -f 41 -l 46 large-manual.pdf -
Search Commands
pdfgrep "search term" document.pdf
pdfgrep -i "search term" document.pdf
pdfgrep -n "search term" document.pdf
pdfgrep -n -C 2 "search term" document.pdf
pdfgrep -c "search term" document.pdf
pdfgrep -r "term" /path/to/pdfs/
Extract Commands
pdftotext -f 10 -l 15 document.pdf -
pdftotext -f 42 -l 42 document.pdf -
pdftotext -layout -f 10 -l 10 document.pdf -
pdftotext -f 10 -l 15 document.pdf - | head -50
Metadata
pdfinfo document.pdf | grep Pages
pdfinfo document.pdf
Troubleshooting
Empty output from pdftotext: PDF is image-based (scanned). These tools work with text-based PDFs only.
pdfgrep missing matches: Try case-insensitive (-i). Check if PDF has selectable text.