PDFMathTranslate - PDF翻译工具
前言
一款基于 AI 完整且保留原排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker三种部署方式
可以用来翻译论文或者其他英文文档,虽然现在用知云文献翻译比较多,但多一种翻译方式可能以后用得着,而且这个工具翻译出来是保持原来PDF排版,下载翻译之后的文档也是PDF。
项目地址
项目启发:GitHub 一周热点汇总第54期(2024/12/15-12/21
项目GitHub地址:PDFMathTranslate
Docker部署
1.拉取镜像
在Docker->镜像->拉取中输入byaidu/pdf2zh拉取项目镜像,镜像挺大的,大概2.5GB
1 | docker pull byaidu/pdf2zh |
2.创建容器
在Docker->容器->添加->解析CLI中输入如下代码创建容器
- 原本项目的暴露端口是7860,但是在openwrt上7860端口已经被
linzeyi/hivision_idphotos:latest项目占用了,所以把外部端口改成了7999
1 | docker run -d -p 7999:7860 byaidu/pdf2zh |
3.启动容器,创建完成后直接启动即可
效果
GUI界面如下图所示
可以免费使用Google和Bing翻译引擎,但其他翻译器都要api_key,也许某些翻译引擎可以免费获取key,但不是限额就是付费,懒得一个个找了,谷歌和Bing也不错
翻译时间很长,15页的论文大概要两分钟的翻译时间,翻译完之后无法在线预览,只能把翻译完成的PDF下载下来看
以下是各个翻译服务所需的环境变量,在使用相应服务之前,需要确保已设置这些变量
| Translator | Service | Environment Variables | Default Values | Notes |
|---|---|---|---|---|
| Google (Default) | google |
None | N/A | None |
| Bing | bing |
None | N/A | None |
| DeepL | deepl |
DEEPL_AUTH_KEY |
[Your Key] |
See DeepL |
| DeepLX | deeplx |
DEEPLX_ENDPOINT |
https://api.deepl.com/translate |
See DeepLX |
| Ollama | ollama |
OLLAMA_HOST, OLLAMA_MODEL |
http://127.0.0.1:11434, gemma2 |
See Ollama |
| OpenAI | openai |
OPENAI_BASE_URL, OPENAI_API_KEY, OPENAI_MODEL |
https://api.openai.com/v1, [Your Key], gpt-4o-mini |
See OpenAI |
| AzureOpenAI | azure-openai |
AZURE_OPENAI_BASE_URL, AZURE_OPENAI_API_KEY, AZURE_OPENAI_MODEL |
[Your Endpoint], [Your Key], gpt-4o-mini |
See Azure OpenAI |
| Zhipu | zhipu |
ZHIPU_API_KEY, ZHIPU_MODEL |
[Your Key], glm-4-flash |
See Zhipu |
| ModelScope | ModelScope |
MODELSCOPE_API_KEY, MODELSCOPE_MODEL |
[Your Key], Qwen/Qwen2.5-Coder-32B-Instruct |
See ModelScope |
| Silicon | silicon |
SILICON_API_KEY, SILICON_MODEL |
[Your Key], Qwen/Qwen2.5-7B-Instruct |
See SiliconCloud |
| Gemini | gemini |
GEMINI_API_KEY, GEMINI_MODEL |
[Your Key], gemini-1.5-flash |
See Gemini |
| Azure | azure |
AZURE_ENDPOINT, AZURE_API_KEY |
https://api.translator.azure.cn, [Your Key] |
See Azure |
| Tencent | tencent |
TENCENTCLOUD_SECRET_ID, TENCENTCLOUD_SECRET_KEY |
[Your ID], [Your Key] |
See Tencent |
| Dify | dify |
DIFY_API_URL, DIFY_API_KEY |
[Your DIFY URL], [Your Key] |
See Dify,Three variables, lang_out, lang_in, 和 text, need to be defined in Dify’s workflow input. |
| AnythingLLM | anythingllm |
AnythingLLM_URL, AnythingLLM_APIKEY |
[Your AnythingLLM URL], [Your Key] |
See anything-llm |
在当前工作目录下生成译文文档
example-mono.pdf和双语对照文档example-dual.pdf,默认使用 Google 翻译服务
翻译示例
翻译出来保持了原来的排版,但是不如原文的美观,效果如下










