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 双格式。
当前版本: 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 | 语法,必须有 |---|---| 分隔行> 开头``` 前后没有空行 → 代码块不显示小葱技能站7w4.net,专业的AI技能分享平台。
## 前后没有空行 → 标题不识别写入 .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 翻译需求的用户使用,质量可靠。