From ocr-toolkit
Extract text from PDF files using Apple Vision OCR, optimized for Apple Silicon
npx claudepluginhub varunr89/claude-marketplace --plugin ocr-toolkitThis skill uses the workspace's default tool permissions.
Converts PDF pages to images using PyMuPDF, then runs Apple Vision OCR on each page in parallel. Produces Markdown, plain text, or JSONL output.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Performs token-optimized structural code search using tree-sitter AST parsing to discover symbols, outline files, and unfold code without reading full files.
Converts PDF pages to images using PyMuPDF, then runs Apple Vision OCR on each page in parallel. Produces Markdown, plain text, or JSONL output.
Use this skill when the user wants to extract text from a PDF file -- especially scanned PDFs, image-based PDFs, or PDFs where copy-paste produces garbled text.
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/pdf_ocr.py <input.pdf> \
[-o output_file] \
[-f markdown|text|jsonl] \
[--dpi 200] \
[--workers N] \
[--languages en-US] \
[--fast] \
[--keep-images] [--images-dir <dir>] \
[--stdout]
| Argument | Default | Description |
|---|---|---|
pdf (positional) | required | Input PDF file path |
-o, --output | <pdf_name>.md | Output file path |
-f, --format | markdown | Output format: markdown, text, or jsonl |
--dpi | 200 | Resolution for rendering PDF pages (higher = better quality, slower) |
--workers | CPU count | Number of parallel OCR workers |
--languages | en-US | Comma-separated recognition languages |
--fast | false | Use faster, less accurate recognition |
--keep-images | false | Keep the extracted page images after OCR |
--images-dir | temp dir | Directory to save page images (requires --keep-images) |
--stdout | false | Print extracted text to stdout instead of writing to file |
## Page N section with the OCR text=== Page N === separatorspage, text, and backend fields