PDF Translate

👤 chrislee121 📦 v4.0.0 ⭐ 4.5 ⬇️ 2.6K 下載
📄 辦公效率 免費

📖 技能介紹


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 Translation Skill

翻譯 PDF 文件並生成排版精美的中文文件。輸出 Markdown + PDF 雙格式。

版本資訊

當前版本: v4.0.0 釋出日期: 2026-02-21

v4.0.0 變更

  • 採用 Markdown-first 工作流:先生成結構化 Markdown,再轉 PDF
  • PDF 引擎從 reportlab 切換為 weasyprint(支援完整 HTML/CSS 排版)
  • 修復程式碼塊中文亂碼問題(新增 CJK 字型 fallback)
  • 完整支援:標題層級、程式碼塊、表格、列表、引用、粗體斜體
  • 新增 scripts/md2pdf.py 通用轉換指令碼

核心工作流

Step 1: 提取 PDF 文本

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 頁)先提取前幾頁瞭解結構,再分批提取。

Step 2: 分析文件結構

通讀全文,識別以下元素並規劃 Markdown 對映:

原文元素 Markdown 對映
文件標題 #
章節(Chapter) ##
小節(Section) ###
子小節(Subsection) ####
目錄 連結列表 - [章節名](#錨點)
正文段落 段落(空行分隔)
程式碼塊 ``` 圍欄(不翻譯內容)
表格 \| 列1 \| 列2 \| 語法
有序列表 1. 開頭
無序列表 - 開頭
引用/提示框 > 語法
頁尾/頁碼 丟棄

Step 3: 逐章節翻譯為中文 Markdown

必須逐章節翻譯,不要一次輸出全文。每完成一個章節就追加寫入檔案。

翻譯規則

小蔥技能7w4.net有完整的技能分類。

  1. 專有名詞保留英文:首次出現時括號附英文,如"漸進式披露(Progressive Disclosure)"
  2. 程式碼塊不翻譯``` 內程式碼保持原文,只翻譯圍欄外說明文字
  3. 行內程式碼不翻譯:反引號內識別符號、命令、檔名保持英文
  4. 保持層級結構########## 不跳級
  5. 段落間必須空行:每個段落、列表、程式碼塊、表格前後都要有空行
  6. 列表格式-1. 開頭,巢狀用 2 空格縮排
  7. 表格格式| 列1 | 列2 | 語法,必須有 |---|---| 分隔行
  8. 引用格式> 開頭

翻譯質量標準

參見 translation-standards.md

  • 三步翻譯工作流:重寫初稿 → 問題診斷 → 潤色定稿
  • 四大語言轉換策略:形合→意合、被動→主動、抽象→具體、精簡冗餘
  • 杜絕"歐化表達"和"翻譯腔"

必須避免的格式錯誤

  • ❌ 段落之間沒有空行 → 文字擠在一起
  • ❌ 列表項前沒有空行 → 不被識別為列表
  • ❌ 表格前後沒有空行 → 表格無法渲染
  • ❌ 程式碼塊 ``` 前後沒有空行 → 程式碼塊不顯示
  • ❌ 標題 ## 前後沒有空行 → 標題不識別
  • ❌ 翻譯程式碼塊內的程式碼
  • ❌ 一次性輸出全部內容導致截斷

Step 4: 輸出 Markdown 檔案

寫入 .md 檔案,路徑與原 PDF 同目錄,檔名:原檔名_中文翻譯.md

Step 5: 生成 PDF

使用 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 - 深色背景程式碼塊(支援中文註釋) - 專業表格樣式(交替行色、邊框) - 藍色左邊框引用塊 - 標題層級樣式(藍色邊線、字號遞減)

Step 6: 確認輸出

翻譯完成後告知使用者: 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


參考文件: - 翻譯標準 - 字型配置 - 故障排除 - 完整示例

🤖 AI 評測

這是一款專業度較高的 PDF 翻譯工具,翻譯質量標準制定得細緻明確,生成的 PDF 排版精美,支援程式碼塊、表格、標題層級等複雜元素,中文顯示效果良好。文件完善,中英文說明齊全。不足之處在於不支援掃描版 PDF(圖片類),只能翻譯英文到中文,其他語言暫不支援,另外對系統字型有一定要求,字型不全時可能出現亂碼。總體而言,適合有 PDF 翻譯需求的使用者使用,質量可靠。

📊 多維度評分

適應性4.4
規範性4.6
有效性4.4
可靠性4.2
可信度5

📁 包含檔案 (14 個)

📄 CHANGELOG.md 3.6 KB
📄 README.md 6.1 KB
📄 README_CN.md 5.7 KB
📄 SKILL.md 5.4 KB
📄 VERSION_HISTORY.md 9.4 KB
📄 _meta.json 132 B
📄 references/complete-example.md 7.4 KB
📄 references/font-configuration.md 4.3 KB
📄 references/translation-standards.md 4.4 KB
📄 references/troubleshooting.md 5.1 KB
📄 requirements.txt 430 B
📄 scripts/generate_complete_pdf.py 27.7 KB
📄 scripts/md2pdf.py 6.4 KB
📄 scripts/translate_pdf.py 7.8 KB