夜雨聆风学习资料网

ARTICLE · 1209236

英文PDF翻成中文,排版基本不变:PDF2ZH实测

英文PDF翻成中文,排版基本不变:PDF2ZH实测
AI 实验室手记2026.10.18

复制粘贴,再一段段对回去

英文PDF翻成中文排版基本不变

从导入到导出,附完整步骤

PDF2ZH

翻完之后,能不能顺畅读下去

PDF翻译文档工具实测

EDITOR'S NOTE

写在前面

这篇不吹工具。亮点和坑都写在里面,截图没有修饰。

00

PART

先看效果

左边是原文,右边是翻译后

收到一份英文报告,最麻烦的常常不是英语。

正文分成两栏,图表夹在中间,底下还有小字注释。一段段复制到翻译工具里,段落顺序乱了,图表说明也找不回原来的位置。翻完一段,还得切回原文,重新确认自己读到了哪儿。

PDF2ZH 想解决的就是这件事:翻译 PDF 的时候,尽量把原来的排版一起留住,让原文和译文能对着看。

项目名是 PDFMathTranslate,仓库在 GitHub 上叫 PDFMathTranslate/PDFMathTranslate,目前 3.7 万多 star,AGPL-3.0 开源。

它做的事说起来很直白:把整份英文 PDF 翻成中文,尽量保留原来的排版,再输出成纯译文和双语对照两个版本。公式、图表、目录、批注都在“尽量保留”的范围里。这也是它和浏览器整页翻译最大的区别——后者给你一屏能读的字,前者给你一份还能继续用、还能发给别人的文档。

出身不算野路子。团队为它写过一篇论文,发在 EMNLP 2025 的系统演示环节,方法上主要靠版面检测模型判断“哪块是正文、哪块是图表、哪块是公式”,再按区块送去翻译、按原位排回来。

当前状态值得说两句。PyPI 上最新的稳定版是 1.9.11,2025 年 7 月发布;2.0 已经拆到另一个仓库 PDFMathTranslate-next,官方说那条线主要面向开发、不保证兼容,所以这次用的还是 1.9.11。使用形态给得挺全:命令行、浏览器图形界面、Docker、Zotero 插件都有;接的翻译服务二十多个,从 Google、Bing 到 DeepL、OpenAI、DeepSeek、通义。

这次我们拿一份真实的英文论文,从导入到导出走一遍,看看它在实际资料上能帮到哪一步。

同一页的原文与译文

上面是原始 PDF,下面是处理后的结果。图的位置、双栏的走向、图注的落点,基本都在原地。

01

PART

先说清楚这次测了什么

一份 8 页的论文,双栏加图表

样本是 arXiv 上公开的 Segment Anything 论文,原文 30 页,15.6 MB。我们另外存了前 8 页出来单独处理,7.0 MB——双栏正文、三张大图、一个对比表格、若干公式符号,技术资料里常见的排版它都有。

环境是 Windows、Python 3.12、pdf2zh 1.9.11,安装的 BabelDOC 依赖版本是 0.2.33。翻译服务选的是 Bing。

这里要补一句:本次走的是 pdf2zh 自带流程。命令行没加 babeldoc 参数,界面里的“Use BabelDOC”也没勾选,运行日志里记的是 babeldoc=False。BabelDOC 在这套环境里只提供了中文字体和版面模型,没有参与翻译流程。

这里要分清一件事:PDF2ZH 管的是“文档怎么排”,具体文字由翻译服务来译。 同一个文件,换个服务就是换一套译文,质量和收费都跟着变。这次选 Bing,是因为它不用配 API 密钥,本次也没有产生直接费用,路径最短。

02

PART

三步:导入、设置、开跑

拖进去,选服务,点开始

官方给了三个入口:网页版 pdf2zh.com 不用安装,Windows 压缩包解压双击,或者用命令行安装。我们走的是第三条里带的图形界面——装好之后运行 pdf2zh -i,浏览器打开本地地址,界面是这样:

导入与设置界面

① 把 PDF 拖进虚线框,文件名和大小会显示出来; ② 翻译服务按前面说的选; ③ 源语言 English,目标语言简体中文; ④ 页数可以选全部,也可以只翻前几页; ⑤ 点 Translate。

页数这一项值得单独说。 第一次用别整本翻。先挑 5 到 10 页最典型的——有正文、有图表、有页脚的那种——看完结果,再决定要不要全量跑。

安装那一步补充一句。本文用的是 1.9.11,先按 uv 官方说明把 uv 装上,再执行这条,把版本锁住:

uv tool install --python 3.12 pdf2zh==1.9.11

装完运行 pdf2zh -i 启动。终端会打印一个本地地址,用浏览器打开就行;7860 端口被占用时地址会变,以终端显示的为准。我们试 pip 装的时候碰到过两次依赖版本打架,用 uv 建独立环境省事得多。

03

PART

8 页用了 58 秒

两个文件,纯译文和双语对照

点下去之后界面会走进度。8 页处理完,从命令发出到文件落地用时 58 秒,日志里翻译循环本身是 49 秒。这组数字不含安装和第一次下载模型、字体的时间,也是在关掉翻译缓存后测的,只代表这台机器和这个文件。

输出文件

结果给了两个文件:mono 是纯译文,7.2 MB;dual 是原文一页、译文一页交替排,14.1 MB。原文件 7.0 MB,生成的文件差不多是输入的两倍大。

到这儿流程算跑通了。但能导出,只说明工具没报错。接下来才是重点:它翻得对不对,排版保住了多少。

04

PART

三处检查

正文、术语与数字、版式

第一处,正文段落。

大部分段落读下来是通顺的。引用编号 [66]、[76, 71] 原样保留,§7、§B 这类章节标记还在,公式符号 32×32、0.5−δ 也没被拆坏。

但第 1 页出了个明显的岔子。

摘要区域对比

“摘要”这个标题译成了中文,下面整段正文却原封不动留着英文。同一页往下翻,“1. 引言”和后面的正文都是正常的中文。本次样本的摘要整段没有翻译。

第二处,术语和数字。

这是最需要逐条核对的地方。

同一段原文与译文

同一个段落:34 秒降到 14 秒,“6.5 倍”“2 倍”这些都对;“120k images”译成“12 万张图像”,“4.3M masks”译成“430 万个掩码”,也对。

问题出在一个 20 上。原文 from 20 to 44 masks,译文里 2 落在上一行末尾、0 落在下一行开头,读起来像“从 2 个涨到 44 个”。这是排版断行造成的,截图里数字本身没有被替换。

术语那边更热闹。

第 6 页有个小节标题叫 Masks,讲的是分割掩码。译文把它译成了“口罩”——于是整段变成“我们的数据引擎生成了 11 亿个口罩,其中 99.1% 是完全自动生成的。因此,自动口罩的质量至关重要”。

前面几页同一个词一直译的“掩码”,到这里突然成了口罩。同一份文档里,mask 还有“掩模”的写法。

术语与人名错译对照

人名也没躲过。第 1 页作者署名里,Wan-Yen Lo 变成了“罗万燕”,Hanzi Mao 变成了“毛汉子”,directional lead 译成“四向铅”。

第三处,版式。

这一项得分最高。图片、表格、双栏的阅读顺序都在原位,图注跟着图走,页码也没丢。

细节上还有几处:表 1 的国名译成了中文,表 2 的表头和数据行却留着英文;斜体的 diversity、fully automatic 直接漏在中文句子里;左侧那条 arXiv 竖排水印被拆成了竖排的乱码字符。

05

PART

它省的是哪一段事

能省事,但不能闭眼用

先把边界说清楚:这次只测了英文文字型 PDF、只用了 Bing 一个服务、只有 1.9.11 一个版本。 换服务、换文件,结果可能差很远。

在这个范围内,PDF2ZH 确实帮上忙的地方是:不用再一段段复制粘贴,图表和双栏的位置基本能对上,双语的排法也方便回头核对原文。

需要人工接手的地方同样具体:术语要先过一遍,尤其是同一个词在不同段落被译成不同意思的情况;数字要抽查,特别是靠近行末换行的那几个;标题和摘要这类短段落要单独看,本次样本的摘要就整段没翻。

扫描件另算。本次只测了能选中文字的 PDF,没有测扫描件,结果不代表扫描件的处理效果。

还有一件和工作有关的事:文件要是公司内部资料,先确认所选翻译服务会不会把文本传到远端。Bing 这类在线服务,文本是要发出去的。

最后给一个直接的判断。

常读整份英文资料、又要对着图表理解正文的人,PDF2ZH 能省掉最烦的那一段手工活,但交出去之前得自己检查一遍。

如果只查一两段,直接选中文字翻译,通常比整份跑一遍省步骤。

工具值不值,最后看的是一件很具体的事:翻完之后,你能不能顺畅读下去,需要的时候还能方便地找回原文。

本次测试环境与结果,仅代表本文所用样本、版本和服务。

///

END

最后说两句

工具还你的是时间,不是判断

工具能替我们做的,从来不是“看懂”,而是把“来回找”的那部分时间还回来。剩下的判断,还是得自己做。

CLOSING

能省的是复制粘贴,省不了核对。

我们是一行人AI实验室,持续追踪 AI Agent 与新工具的真实体验,只写自己上手用过的。

欢迎关注「一行人AI实验室」公众号

如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。

赞
在看
收藏

THANKS FOR READING

相关学习资料