跳至主要内容

10|X to MD — 把 PDF / Word / 影音通通轉成 Markdown

"X to MD"

📄 一句話:AI 最愛吃的格式是 Markdown——把你既有的 PDF / Word / PPT / 網頁 / 影音通通轉成 .md,丟進 PARA 第二大腦,Claude / Codex 才能高效讀懂。


一、為什麼是 Markdown

LLM 訓練資料裡 Markdown 比例極高,所以模型「最熟悉」的長文件格式就是 .md:

格式LLM 好讀嗎?容易 grep / search 嗎?
Markdown✅✅ 最好✅✅ 純文字直接搜
HTML⚠️ 有 noise(tag)⚠️ 要清標籤
PDF❌ 排版會丟失❌ 二進位
Word / PPT❌ 同上
圖片 / 影音❌ 完全沒文字

→ 任何要餵 AI 的內容,先轉 Markdown 是值得的投資


二、按來源挑工具

📕 PDF → Markdown

工具強項缺點
UnstructuredLLM-friendly 輸出,支援 30+ 格式複雜表格仍會掉
Docling (IBM 2025)表格 + layout 抽取最強較新、社群仍小
MarkItDown (Microsoft)輕量、Python 一行命令中文 PDF 較弱
pdfplumber + 自寫完全可控要自己寫邏輯
# Unstructured
unstructured-ingest local --input-path doc.pdf --output-dir out/

# MarkItDown
markitdown doc.pdf > doc.md

📘 Word / PPT → Markdown

工具適合
Pandoc經典老牌,幾乎萬能
MarkItDown一行命令,輸出乾淨
pandoc proposal.docx -o proposal.md
markitdown deck.pptx > deck.md

🌐 HTML / 網頁 → Markdown

工具適合
trafilatura去 navigation / 廣告,留主文
Readability (mozilla)同上,Node.js 系
html2text簡單暴力
trafilatura -u https://example.com/article > article.md

🎙️ 音訊 → Markdown

工具強項
faster-whisperWhisper 包裝,速度 4×,繁中支援好
Whisper.cppC++ 實作,地端最省資源
WhisperX加 speaker diarization(誰在講話)
faster-whisper meeting.mp3 --language zh --output_format json

🎬 影片 → Markdown

# 1. 下載
yt-dlp -x --audio-format mp3 'https://youtube.com/watch?v=...' -o talk.mp3

# 2. 轉錄
faster-whisper talk.mp3 --language zh > talk.txt

# 3. AI 整理成 markdown
claude "把 talk.txt 整成結構化 markdown,含章節標題與重點 bullet"

🖼️ 掃描件 / 圖片 → Markdown

工具強項
PaddleOCR繁中 OCR 最強(業界共識)
Google Document AI表格抽取準
Tesseract老牌,繁中差
paddleocr --image_dir scan.jpg --output_dir out/ --lang ch

三、中文 PDF 的特別考量

中文 PDF 比英文難轉,因為:

  • 直書 / 橫書混雜
  • 字型嵌入問題
  • 標點全形 vs 半形

推薦順序(從工具到 AI):

1. PaddleOCR 抽文字(精度最好)

2. Pandoc / MarkItDown 處理結構(若原本是電子 PDF)

3. 把雜亂結果丟給 Claude:「幫我重排成乾淨 markdown」

四、整合進 PARA 工作流

x-to-md 寫成一個 Skill:

# ~/brain/Skills/x-to-md.md
---
name: x-to-md
trigger: ["/to-md", "幫我轉 markdown"]
---

收到檔案 → 偵測格式 → 用對應工具轉
PDF → Unstructured
DOCX → Pandoc
MP3 → faster-whisper
JPG → PaddleOCR

輸出存 ~/brain/Inbox/[原檔名].md

→ Claude / Codex 看到 /to-md report.pdf 就觸發整個流程。 → 結果落地 Inbox/,後續由 PARA 自然分類。


五、為什麼有人想自己重寫 MarkItDown

MarkItDown 是 Python 寫的——裝起來重,要 pip install、有依賴衝突風險。

如果想分發給非開發者員工用,改寫成 Golang 單一執行檔

  • ✅ 0 依賴(單檔 markitdown 就跑)
  • ✅ 跨平台(一份 binary 給 Mac / Windows / Linux)
  • ✅ 啟動快

→ 這是一個值得做的 weekend project,也是 DIY 一隻你自己的龍蝦 練習的好題材。


六、常見誤解

❌ 誤解✅ 正解
「丟原檔給 AI 它會處理」多數 LLM 不能直接吃 PDF / 影音,要先轉文字
「OCR 一次就乾淨」中文 OCR 仍有 5-10% 錯字率,要二次校
「Markdown 醜,直接給 HTML 就好」HTML 含大量 noise,LLM 處理慢且容易抓到 nav / footer 干擾
「用任何 OCR 都差不多」繁中差距很大,PaddleOCR vs Tesseract 可差到 20%

七、實戰建議

  1. 建立 Inbox/ 統一接口:所有要轉的檔案先丟一處
  2. 自動偵測 + 轉換:寫成 Skill 讓 AI 觸發
  3. 保留原檔:轉完不要刪原檔,留在 Archives/raw/
  4. 設品質檢查:轉完跑一次「檔案能搜到 X 關鍵字嗎」測試
  5. 重轉策略:如果 AI 用得不順,可重新換工具再轉一次

延伸閱讀