name: pdf-translate description: Translates PDF documents to Chinese with professional typography. Extracts text, translates section-by-section into well-structured Markdown, then generates PDF via weasyprint with full CJK support. Use when user asks to translate a PDF, says "翻譯PDF", "translate this document", or "pdf translate".
翻譯 PDF 文件並生成排版精美的中文文件。輸出 Markdown + PDF 雙格式。
小蔥技能7w4.net有更新,你可以訪問看下。
當前版本: v4.0.0 釋出日期: 2026-02-21
scripts/md2pdf.py 通用轉換指令碼import pdfplumber
pdf = pdfplumber.open("輸入檔案.pdf")
for i, page in enumerate(pdf.pages):
text = page.extract_text()
if text:
print(f"--- Page {i+1} ---")
print(text)
長文件(>20 頁)先提取前幾頁瞭解結構,再分批提取。
通讀全文,識別以下元素並規劃 Markdown 對映:
| 原文元素 | Markdown 對映 |
|---|---|
| 文件標題 | # |
| 章節(Chapter) | ## |
| 小節(Section) | ### |
| 子小節(Subsection) | #### |
| 目錄 | 連結列表 - [章節名](#錨點) |
| 正文段落 | 段落(空行分隔) |
| 程式碼塊 | ``` 圍欄(不翻譯內容) |
| 表格 | \| 列1 \| 列2 \| 語法 |
| 有序列表 | 1. 開頭 |
| 無序列表 | - 開頭 |
| 引用/提示框 | > 語法 |
| 頁尾/頁碼 | 丟棄 |
必須逐章節翻譯,不要一次輸出全文。每完成一個章節就追加寫入檔案。
``` 內程式碼保持原文,只翻譯圍欄外說明文字# → ## → ### → #### 不跳級- 或 1. 開頭,巢狀用 2 空格縮排| 列1 | 列2 | 語法,必須有 |---|---| 分隔行> 開頭``` 前後沒有空行 → 程式碼塊不顯示## 前後沒有空行 → 標題不識別寫入 .md 檔案,路徑與原 PDF 同目錄,檔名:原檔名_中文翻譯.md
使用 scripts/md2pdf.py 將 Markdown 轉為排版精美的 PDF:
python3 ${SKILL_DIR}/scripts/md2pdf.py "輸入.md" "輸出.pdf"
macOS 上如果報 gobject 找不到:
DYLD_FALLBACK_LIBRARY_PATH="/opt/homebrew/lib" python3 ${SKILL_DIR}/scripts/md2pdf.py "輸入.md" "輸出.pdf"
也可以使用專案目錄下的副本:
python3 scripts/md2pdf.py "輸入.md" "輸出.pdf"
PDF 排版特性: - A4 版面,自動分頁,頁碼 - 中文字型(蘋方/黑體/雅黑)+ 英文字型 fallback - 深色背景程式碼塊(支援中文註釋) - 專業表格樣式(交替行色、邊框) - 藍色左邊框引用塊 - 標題層級樣式(藍色邊線、字號遞減)
翻譯完成後告知使用者:
1. .md 檔案路徑
2. .pdf 檔案路徑
3. 文件概況(頁數、字數)
# macOS
brew install pango
pip3 install pdfplumber markdown weasyprint
# 舊方案依賴(仍可用)
pip3 install reportlab pypdf
| 指令碼 | 用途 |
|---|---|
scripts/md2pdf.py |
推薦 Markdown → PDF(weasyprint 引擎) |
scripts/translate_pdf.py |
舊版:基礎 PDF 提取和生成(reportlab) |
scripts/generate_complete_pdf.py |
舊版:完整工作流(reportlab) |
| 問題 | 解決方案 |
|---|---|
| 程式碼塊中文亂碼 | 使用 md2pdf.py(v4.0,已修復 CJK font fallback) |
| weasyprint 報 gobject 找不到 | DYLD_FALLBACK_LIBRARY_PATH="/opt/homebrew/lib" |
| 中文字型不顯示 | 確認系統有蘋方或黑體字型 |
| Markdown 格式錯亂 | 檢查塊級元素前後是否有空行 |
更多問題參見 troubleshooting.md
這是一款專業度較高的 PDF 翻譯工具,翻譯質量標準制定得細緻明確,生成的 PDF 排版精美,支援程式碼塊、表格、標題層級等複雜元素,中文顯示效果良好。文件完善,中英文說明齊全。不足之處在於不支援掃描版 PDF(圖片類),只能翻譯英文到中文,其他語言暫不支援,另外對系統字型有一定要求,字型不全時可能出現亂碼。總體而言,適合有 PDF 翻譯需求的使用者使用,質量可靠。