pdf-to-markdown
PDF to Markdown Converter
Convert PDF files to clean, well-structured Markdown. Tables become markdown tables. Images and graphics are described as text (no image files generated).
Quick Start
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py input.pdf
Output: ~/Desktop/{filename}.md
Options
| Flag | Description |
|---|---|
--no-llm |
Skip LLM processing (faster, images become [Image] placeholders) |
--force-ocr |
Force OCR on all pages (for scanned PDFs) |
--page-range "0,5-10" |
Process specific pages only |
Common Use Cases
Convert a PDF with default settings
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py ~/Documents/report.pdf
Specify output location
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py report.pdf ~/Documents/report.md
Fast conversion (no image descriptions)
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py --no-llm report.pdf
Scanned PDF (force OCR)
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py --force-ocr scanned_doc.pdf
Extract specific pages
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py --page-range "0-5" large_report.pdf
Output
- Pure Markdown text (no embedded images)
- Tables converted to Markdown table format
- Images/charts described as text using LLM
- Clean formatting suitable for AI processing
Requirements
- GEMINI_API_KEY: Required for LLM image descriptions (loaded from 1Password)
- Use
--no-llmflag if you don't have Gemini API access
First Run Note
The first run downloads ML models (~1-2GB) which are cached at ~/.cache/marker/. Subsequent runs are faster.
Technical Details
Uses Marker library:
- 31k+ GitHub stars
- Best-in-class PDF conversion accuracy
- Surya OCR for 90+ languages
- Gemini LLM integration for image understanding
More from krishagel/geoffrey
morning-briefing
Generate comprehensive morning briefing with calendar, tasks, tickets, news, and weather. Saves to Obsidian, sends email with audio podcast attached.
142google-workspace
Unified Google Workspace integration for managing email, calendar, files, and communication across multiple accounts
30local-tts
Local text-to-speech using MLX and Kokoro model
25omnifocus-manager
Manage OmniFocus tasks, projects, and inbox with proper tagging and organization
24personal-strategic-planning
Annual strategic review and goal-setting interview for personal life/work domains with quarterly progress check-ins
22browser-control
Full browser control for authenticated web interactions using Playwright scripts
21