前言

一款基于 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

7860端口被占用

3.启动容器,创建完成后直接启动即可

效果

GUI界面如下图所示

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_HOSTOLLAMA_MODEL http://127.0.0.1:11434gemma2 See Ollama
OpenAI openai OPENAI_BASE_URLOPENAI_API_KEYOPENAI_MODEL https://api.openai.com/v1[Your Key]gpt-4o-mini See OpenAI
AzureOpenAI azure-openai AZURE_OPENAI_BASE_URLAZURE_OPENAI_API_KEYAZURE_OPENAI_MODEL [Your Endpoint][Your Key]gpt-4o-mini See Azure OpenAI
Zhipu zhipu ZHIPU_API_KEYZHIPU_MODEL [Your Key]glm-4-flash See Zhipu
ModelScope ModelScope MODELSCOPE_API_KEYMODELSCOPE_MODEL [Your Key]Qwen/Qwen2.5-Coder-32B-Instruct See ModelScope
Silicon silicon SILICON_API_KEYSILICON_MODEL [Your Key]Qwen/Qwen2.5-7B-Instruct See SiliconCloud
Gemini gemini GEMINI_API_KEYGEMINI_MODEL [Your Key]gemini-1.5-flash See Gemini
Azure azure AZURE_ENDPOINTAZURE_API_KEY https://api.translator.azure.cn[Your Key] See Azure
Tencent tencent TENCENTCLOUD_SECRET_IDTENCENTCLOUD_SECRET_KEY [Your ID][Your Key] See Tencent
Dify dify DIFY_API_URLDIFY_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_URLAnythingLLM_APIKEY [Your AnythingLLM URL][Your Key] See anything-llm

在当前工作目录下生成译文文档 example-mono.pdf双语对照文档 example-dual.pdf,默认使用 Google 翻译服务

译文版本

翻译示例

翻译出来保持了原来的排版,但是不如原文的美观,效果如下