PDF科研文献与图书翻译神器PDFMathTranslate部署与使用

一、背景介绍

随着考研的结束,论文写作也被广大毕业生提上了日程。论文写作第一步就是要进行选题,选题的基础是收集相关素材,进行文献研读,对于国外最新文献的阅读尤为重要。

此时,我们通常为了加快阅读的速度,把收集的pdf文献进行翻译后再次阅读,但是由于原论文中包含有很多Latex公式、表格、图片等信息,普通的翻译工具在翻译过程中会打乱原文献的排版和布局,导致翻译后的文本显得十分凌乱,不利于文献的快速阅读。

为了解决这个问题,今天给大家安利一款github上免费开源的Pdf翻译神器PDFMathTranslate,它采用Python语言编写,可以在翻译PDF的同时还能保留原有排版和 LaTeX 数学公式,让你轻松拿捏外文文献和图书的翻译和阅读。

二、特点优势

强大翻译能力:PDFMathTranslate是一个开源且免费的翻译工具,其最大特点是在翻译过程中能够保持原文的布局不变,完整保留公式、图表、目录和注释等结构信息。图表样式和嵌入内容完美复现,翻译不丢失信息。

多引擎集成:同时,它也集成了Google 翻译、DeepL、Azure、OpenAI、 Ollama、Kimi moonshot、智谱清言等多个智能翻译工具,支持中文、英语、日语等100多种语言的翻译,用户可以根据需要选择合适的翻译服务。

用户使用友好:支持命令行、交互网页、docker部署和调用方式,可以在dos命令行下进行快速翻译,也可以通过简单易用的UI界面,在本地快速执行翻译操作。该项目还提供了一个demo网站,网址是:PDFMathTranslate - PDF Translation with preserved forma,支持5M以下文件的翻译,翻译引擎只有Google。

demo网站

支持翻译格式多样:可以支持docx, epub, azw, azw3, txt, markdown, chm, rtf等常见的格式。还能够进行多个文件的批量翻译。

三、部署方法

1. 命令行法调用

1)首先要确保你的Python程序要在3.8——3.12之间,然后在命令行或者虚拟目录中通过以下命令进行安装:

pip install pdf2zh

2)cmd下通过以下命令对document.pdf进行翻译,命令行的指令格式如下:

命令行格式


如果我们要使用deepl进行前3页的翻译,源语是英语,目标语是中文就可以用以下代码:

pdf2zh document.pdf -s deepl -p 1-3 -li en -lo zh

如果是全文翻译就用如下指令,默认进行的英译中的翻译。

pdf2zh document.pdf

如果翻译部分页面,则可以使用以下命令。

 pdf2zh example.pdf -p 1-3,5

2. 交互界面调用

如果想在本地使用,可以通过以下命令打开简易的交互界面。

pdf2zh -i

如果没有自动打开网页,就可以在浏览器中输入下面的网址,即可以打开本地的交互界面:http://127.0.0.1:7860/。然后把pdf文件拖拽到网页,选择翻译引擎和相关语对,就可以进行翻译:

网页调用

3. 便携式调用

可以把以下代码放到txt中保存为bat文件,然后放到指定的安装目录下执行。这个批处理命令可以检测本地是否有安装python3.12,没有的话就会自动安装,并执行pdf2zh模块的安装。最后打开网页交互模式。

@echo off
setlocal enabledelayedexpansion

set PYTHON_URL=https://www.python.org/ftp/python/3.12.7/python-3.12.7-embed-amd64.zip
set PIP_URL=https://bootstrap.pypa.io/get-pip.py
set HF_ENDPOINT=https://hf-mirror.com
set PIP_MIRROR=https://mirrors.aliyun.com/pypi/simple

if not exist pdf2zh_dist/python.exe (
    powershell -Command "& {Invoke-WebRequest -Uri !PYTHON_URL! -OutFile python.zip}"
    powershell -Command "& {Expand-Archive -Path python.zip -DestinationPath pdf2zh_dist -Force}"
    del python.zip
    echo import site >> pdf2zh_dist/python312._pth
)
cd pdf2zh_dist

if not exist Scripts/pip.exe (
    powershell -Command "& {Invoke-WebRequest -Uri !PIP_URL! -OutFile get-pip.py}"
    python get-pip.py
)
path Scripts

pip install --no-warn-script-location --upgrade pdf2zh -i !PIP_MIRROR!
pdf2zh -i

pause

四、翻译引擎及应用

项目自带多个翻译引擎,列表如下。由表可知Google, bing翻译引擎无需设置即可使用,Deepl, openai, AzureOpenAI等翻译即需要配置模型参数,设置api key等信息。

可以使用的翻译模型

五、参数详情及举例

在命令行下进行pdf翻译,需要配置一些参数,参数说明如下:

参数配置说明

使用-t可以指定线程,线程越多,速度可能就越快,如-t 2 表示使用2个线程。

pdf2zh example.pdf -t 1

使用 -s 来指定模型,如使用openai中的gpt-4o-mini模型,可以先通过set来设置模型:

set OPENAI_MODEL=gpt-4o-mini
pdf2zh documet.pdf -s openai:gpt-4o-mini

还可以通过正则表达式来排除翻译,如保留公式字体和字符可以采用下面的代码:

pdf2zh example.pdf -f "(CM[^RT].*|MS.*|.*Ital)" -c "(\(|\||\)|\+|=|\d|[\u0080-\ufaff])"

六、学后总结

1. PDFMathTranslate作为一款高效的文献和图书翻译工具,可以最大限度地:保留排版与样式,特别适合学术研究、论文阅读和电子书翻译,无论是科研工作者、教育从业者还是学生,都能通过这一工具提升工作效率,专注于更具价值的创造性工作。

2. 使用过程中注意一些参数和运行环境的配置,必要时需要添加openai等模型的api key等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PythonFun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值