嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法
PDFMathTranslate是一个开源项目,旨在为用户提供便捷的PDF科学论文翻译解决方案。它不仅能够翻译文本,还能保留公式、图表、目录和注释等元素,确保翻译后的文档与原文保持一致的阅读体验。
功能特点
-
保留格式:翻译后的文档能够完整保留原文件的公式、图表、目录和注释。
-
多语言支持:支持多种语言的翻译,满足不同用户的需求。
-
多样化翻译服务:集成了Google、DeepL、Ollama、OpenAI等翻译服务,用户可以根据需要选择。
-
多种使用方式:提供命令行工具、图形用户界面、Docker容器等多种使用方式。
使用方法
命令行工具
在安装了Python(版本在3.8到3.12之间)的环境中,可以通过以下命令安装PDFMathTranslate:
pip install pdfmathtranslate
然后,执行以下命令进行翻译:
pdf2zh example.pdf
这将在当前工作目录生成翻译后的文档example-mono.pdf
和双语文档example-dual.pdf
。
图形用户界面
如果你更喜欢图形界面,可以通过以下命令启动:
pdf2zh -i
如果浏览器没有自动打开,可以手动访问以下链接:
http://localhost:7860/
Docker使用
如果你熟悉Docker,可以使用以下命令拉取并运行容器:
docker pull byaidu/pdf2zh
docker run -d -p 7860:7860 byaidu/pdf2zh
然后在浏览器中访问:
http://localhost:7860/
高级选项
PDFMathTranslate提供了丰富的命令行选项,例如:
-
-p
:进行部分文档的翻译。 -
-li
:指定源语言。 -
-lo
:指定目标语言。 -
-s
:选择翻译服务。 -
-t
:设置多线程翻译。
更多高级选项和详细使用方法,请参考官方文档。
在线服务
如果你不想在本地安装,可以直接使用以下在线服务:
-
公共免费服务
-
HuggingFace Demo
-
ModelScope Demo
请注意,在线服务的计算资源有限,请避免过度使用。
API服务
Pythone方式
from pdf2zh import translate, translate_stream
params = {"lang_in": "en", "lang_out": "zh", "service": "google", "thread": 4}
file_mono, file_dual = translate(files=["example.pdf"], **params)[0]
with open("example.pdf", "rb") as f:
stream_mono, stream_dual = translate_stream(stream=f.read(), **params)
HTTP方式
pip install pdf2zh[backend]
pdf2zh --flask
pdf2zh --celery worker
curl http://localhost:11008/v1/translate -F "file=@example.pdf" -F "data={\"lang_in\":\"en\",\"lang_out\":\"zh\",\"service\":\"google\",\"thread\":4}"
{"id":"d9894125-2f4e-45ea-9d93-1a9068d2045a"}
curl http://localhost:11008/v1/translate/d9894125-2f4e-45ea-9d93-1a9068d2045a
{"info":{"n":13,"total":506},"state":"PROGRESS"}
curl http://localhost:11008/v1/translate/d9894125-2f4e-45ea-9d93-1a9068d2045a
{"state":"SUCCESS"}
curl http://localhost:11008/v1/translate/d9894125-2f4e-45ea-9d93-1a9068d2045a/mono --output example-mono.pdf
curl http://localhost:11008/v1/translate/d9894125-2f4e-45ea-9d93-1a9068d2045a/dual --output example-dual.pdf
curl http://localhost:11008/v1/translate/d9894125-2f4e-45ea-9d93-1a9068d2045a -X DELETE
同类项目
-
DocTranslator:一个在线文档翻译工具,支持多种文件格式,但可能无法保留复杂的排版格式。
-
Papago:由韩国NAVER公司开发的在线翻译服务,支持文档翻译,但同样在格式保留方面有所限制。
-
DeepL Translate:一个广受好评的在线翻译服务,提供高质量的翻译,但需要手动复制粘贴文本进行翻译。
与这些项目相比,PDFMathTranslate在保留原文排版格式方面具有明显优势,是阅读和翻译科学论文的理想选择。
结语
PDFMathTranslate是一个强大的PDF文档翻译工具,无论你是科研工作者、学生还是对科学论文感兴趣的普通读者,它都能帮助你跨越语言障碍,更好地理解和研究科学论文。快来尝试这个项目,让你的阅读和研究更加高效吧!
项目地址
https://github.com/Byaidu/PDFMathTranslate