pdf-to-markdown

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

PDF to Markdown Converter

PDF转Markdown转换器

Convert PDF files to clean, well-structured Markdown. Tables become markdown tables. Images and graphics are described as text (no image files generated).
将PDF文件转换为结构清晰、格式整洁的Markdown。表格会转换为Markdown表格格式。图片和图形会以文本形式描述(不生成图片文件)。

Quick Start

快速开始

bash
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py input.pdf
Output:
~/Desktop/{filename}.md
bash
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py input.pdf
输出文件:
~/Desktop/{filename}.md

Options

选项

FlagDescription
--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
参数说明
--no-llm
跳过LLM处理(速度更快,图片会变为
[Image]
占位符)
--force-ocr
强制对所有页面进行OCR识别(适用于扫描版PDF)
--page-range "0,5-10"
仅处理指定页面

Common Use Cases

常见使用场景

Convert a PDF with default settings

使用默认设置转换PDF

bash
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py ~/Documents/report.pdf
bash
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py ~/Documents/report.pdf

Specify output location

指定输出位置

bash
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py report.pdf ~/Documents/report.md
bash
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py report.pdf ~/Documents/report.md

Fast conversion (no image descriptions)

快速转换(不生成图片描述)

bash
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py --no-llm report.pdf
bash
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py --no-llm report.pdf

Scanned PDF (force OCR)

扫描版PDF(强制OCR识别)

bash
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py --force-ocr scanned_doc.pdf
bash
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py --force-ocr scanned_doc.pdf

Extract specific pages

提取指定页面

bash
uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py --page-range "0-5" large_report.pdf
bash
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
  • 纯Markdown文本(无嵌入图片)
  • 表格转换为Markdown表格格式
  • 图片/图表通过LLM转换为文本描述
  • 格式整洁,适合AI工具处理

Requirements

依赖要求

  • GEMINI_API_KEY: Required for LLM image descriptions (loaded from 1Password)
  • Use
    --no-llm
    flag if you don't have Gemini API access
  • GEMINI_API_KEY:生成图片描述需要此密钥(从1Password加载)
  • 若没有Gemini API权限,可使用
    --no-llm
    参数

First Run Note

首次运行说明

The first run downloads ML models (~1-2GB) which are cached at
~/.cache/marker/
. Subsequent runs are faster.
首次运行时会下载机器学习模型(约1-2GB),缓存路径为
~/.cache/marker/
。后续运行速度会更快。

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
使用Marker库:
  • GitHub星标数超31k
  • 业内领先的PDF转换准确率
  • 支持90+种语言的Surya OCR
  • 集成Gemini LLM实现图片理解