PDFMathTranslate - 科学 PDF 文档翻译及双语对照工具
科学 PDF 文档翻译及双语对照工具
欢迎在 GitHub Issues 或 Telegram 用户群
有关如何贡献的详细信息,请查阅 贡献指南
更新
- [2025 年 2 月 22 日] 更好的发布 CI 和精心打包的 windows-amd64 exe (由 @awwaawwa 提供)
- [2024 年 12 月 24 日] 翻译器现在支持在 Xinference 上使用本地模型 (由 @imClumsyPanda 提供)
- [2024 年 12 月 19 日] 现在支持非 PDF/A 文档,使用
-cp
(由 @reycn 提供) - [2024 年 12 月 13 日] 额外支持后端 (由 @YadominJinta 提供)
- [2024 年 12 月 10 日] 翻译器现在支持 Azure 上的 OpenAI 模型 (由 @yidasanqian 提供)
在线演示 🌟
在线服务 🌟
您可以通过以下演示尝试我们的应用程序:
- 公共免费服务 在线使用,无需安装 (推荐)。
- 沉浸式翻译 - BabelDOC 每月免费 1000 页 (推荐)
- 在 HuggingFace 上托管的演示
- 在 ModelScope 上托管的演示 无需安装。
请注意演示的计算资源有限,请避免滥用它们。
安装和使用
方法
针对不同的使用案例,我们提供不同的方法来使用我们的程序:1. UV 安装
- 安装 Python (3.10 <= 版本 <= 3.12)
- 安装我们的包:
pip install uv uv tool install --python 3.12 pdf2zh
- 执行翻译,文件生成在 当前工作目录:
pdf2zh document.pdf
2. Windows exe
- 从 发布页面 下载 pdf2zh-version-win64.zip
- 解压缩并双击
pdf2zh.exe
运行。
- 如果你使用 Windows 并在下载后无法打开文件,请安装 vc_redist.x64.exe 并重试。
- 如果你无法访问 Docker Hub,请尝试在 GitHub 容器注册中心 上使用该镜像。
docker pull ghcr.io/byaidu/pdfmathtranslate
docker run -d -p 7860:7860 ghcr.io/byaidu/pdfmathtranslate
无法安装?
当前程序在工作前需要一个 AI 模型 (wybxc/DocLayout-YOLO-DocStructBench-onnx
),一些用户由于网络问题无法下载。如果你在下载此模型时遇到问题,我们提供以下环境变量的解决方法:
set HF_ENDPOINT=https://hf-mirror.com
对于 PowerShell 用户:
$env:HF_ENDPOINT = https://hf-mirror.com
如果此解决方案对您无效或您遇到其他问题,请参阅 常见问题解答。
高级选项
在命令行中执行翻译命令,在当前工作目录下生成译文文档 example-mono.pdf
和双语对照文档 example-dual.pdf
,默认使用 Google 翻译服务,更多支持的服务在这里)。
在下表中,我们列出了所有高级选项供参考:
选项 | 功能 | 示例 |
---|---|---|
files | 本地文件 | pdf2zh ~/local.pdf |
links | 在线文件 | pdf2zh http://arxiv.org/paper.pdf |
-i | 进入 GUI | pdf2zh -i |
-p | 部分文档翻译 | pdf2zh example.pdf -p 1 |
-li | 源语言 | pdf2zh example.pdf -li en |
-lo | 目标语言 | pdf2zh example.pdf -lo zh |
-s | 翻译服务 | pdf2zh example.pdf -s deepl |
-t | 多线程 | pdf2zh example.pdf -t 1 |
-o | 输出目录 | pdf2zh example.pdf -o output |
-f , -c | 异常 | pdf2zh example.pdf -f "(MS.*)" |
-cp | 兼容模式 | pdf2zh example.pdf --compatible |
--share | 公开链接 | pdf2zh -i --share |
--authorized | 授权 | pdf2zh -i --authorized users.txt [auth.html] |
--prompt | 自定义提示 | pdf2zh --prompt [prompt.txt] |
--onnx | [使用自定义 DocLayout-YOLO ONNX 模型] | pdf2zh --onnx [onnx/model/path] |
--serverport | [使用自定义 WebUI 端口] | pdf2zh --serverport 7860 |
--dir | [批量翻译] | pdf2zh --dir /path/to/translate/ |
--config | 配置文件 | pdf2zh --config /path/to/config/config.json |
--serverport | [自定义 gradio 服务器端口] | pdf2zh --serverport 7860 |
--babeldoc | 使用实验性后端 BabelDOC 翻译 | pdf2zh --babeldoc -s openai example.pdf |
有关详细说明,请参阅我们的文档 高级用法,以获取每个选项的完整列表。
二次开发 (API)
当前的 pdf2zh API 暂时已弃用。API 将在 pdf2zh 2.0发布后重新提供。对于需要程序化访问的用户,请使用BabelDOC的 babeldoc.high_level.async_translate
函数。
API 暂时弃用意味着:相关代码暂时不会被移除,但不会提供技术支持,也不会修复 bug。
待办事项
- 使用基于 DocLayNet 的模型解析布局,PaddleX,PaperMage,SAM2
- 修复页面旋转、目录、列表格式
- 修复旧论文中的像素公式
- 异步重试,除了 KeyboardInterrupt
- 针对西方语言的 Knuth–Plass 算法
- 支持非 PDF/A 文件
- Zotero 和 Obsidian 的插件
致谢
- Immersive Translation 为此项目的活跃贡献者提供每月的专业会员兑换码,详细信息请查看:CONTRIBUTOR_REWARD.md
- 文档合并:PyMuPDF
- 文档解析:Pdfminer.six
- 文档提取:MinerU
- 文档预览:Gradio PDF
- 多线程翻译:MathTranslate
- 布局解析:DocLayout-YOLO
- 文档标准:PDF Explained,PDF Cheat Sheets
- 多语言字体:Go Noto Universal

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。