为什么 PDF 翻译很难?我们到底在还原什么?

上一篇文章《从阅读习惯看,为什么翻译 PDF 时需要保留原来的排版?》中,我们从阅读习惯出发,聊到为什么翻译 PDF 时,不能只留下翻译后的文字。读一份论文、报告或技术资料时,我们会看标题、找图表,也会在原文和译文之间来回核对。原来的排版,帮助我们记住这些内容之间的关系。
但从技术上看,保留这些关系并不简单。
PDF 翻译不是把一种语言替换成另一种语言,再把文字放回原来的位置。它还需要理解一页内容由什么组成,判断哪些文字属于同一部分,并在译文长度发生变化之后,重新安排页面。
真正困难的地方在于:PDF 通常只告诉我们一个元素“放在哪里”,却不一定告诉我们它“属于什么”。一段文字属于哪个标题,图表对应哪段说明,公式中的符号和哪句话有关,这些关系往往需要从位置、样式和上下文中推断出来。双栏、图表、公式和表格,都会让这种推断变得更复杂。
一页 PDF,为什么不能直接按文字读取
编辑文档时,我们通常知道一个标题是标题,一段文字是段落,一行表格属于哪一列。但 PDF 更接近“页面最后呈现出来的样子”:文字、线条、图片和空白被放在各自的位置上,却不一定带着清楚的结构说明。
同一段话可能被拆成许多独立的文字块,图表中的文字可能和图形分开保存,表格也可能只有一组线条和数字,并没有明确的行列信息。扫描 PDF 更特殊:页面上看到的是一张图片,文字、表格和公式都需要先从图像中识别出来。
因此,翻译前需要先回答一些问题:
- 哪些文字属于同一个段落?
- 哪个标题对应下面的内容?
- 两栏文字的阅读顺序是什么?
- 一段说明属于哪张图或哪张表?
- 页眉、页脚和正文应该怎样区分?
如果没有先理解这些关系,直接提取文字、逐段翻译,再按顺序放回页面,结果可能每句话都翻译出来了,读者却不知道该从哪里读起。
所以,PDF 翻译的第一步不是替换文字,而是尽量理解页面的结构。技术上,这一步更像是在一张已经完成的页面上重新建立“标题—段落—图表—说明”的关系,而不是简单地读取一串文字。
双栏排版,真正难的是先后顺序
论文和技术报告经常使用双栏排版。我们要还原的不是两条竖直的区域,而是读者沿着页面阅读时的路径:先读哪一栏,标题属于哪一部分,脚注应该在哪里停下来读。
人眼可以很快判断应该先读左栏,再读右栏;但对处理系统来说,一页文字的排列位置并不天然等于阅读顺序。
一段文字可能被拆成很多行,每一行又可能被识别成一个独立的文本块。如果只按照页面上的坐标或提取顺序处理,就可能出现几种情况:左栏还没有读完,内容已经跳到了右栏;标题被放到了错误的位置;脚注插进正文中间;跨栏的图表被误认为是某一栏的一部分。
技术上,系统需要同时处理页面分区、文本块排序和特殊内容的穿插:
- 先判断栏与栏之间的边界;
- 识别标题、正文、脚注和页眉页脚;
- 恢复每个文本块之间的先后关系;
- 翻译后在可用栏宽内重新安排换行;
- 检查读者是否仍然能按照原来的顺序读下去。
如果译文比原文更长,原来的文本区域也可能容纳不下。强行保持每一行的位置,容易造成文字重叠或空白过大。好的还原并不是让每个字都停在原来的坐标上,而是尽量保留双栏带来的阅读秩序。
图表不是一张图,而是一组相互关联的信息
图表是 PDF 翻译中很容易被低估的一部分。我们要还原的不是一张“看起来差不多”的图,而是图形、数据、图例、图注和正文之间的对应关系。
对读者来说,一张图和附近的文字自然属于同一个论述;但在 PDF 内部,它们可能是互相独立的对象,甚至来自不同的内容层。
正文可以被完整翻译,但如果图表中的标题、坐标轴、图例和注释没有被处理,读者仍然可能无法理解作者正在说明什么。相反,如果只翻译图表里的文字,却没有保留它和正文、图注之间的对应关系,信息也会被拆开。
一张图通常包含几层内容:
- 图表标题,说明它在讨论什么;
- 坐标轴和单位,说明数字应该怎样理解;
- 图例,说明不同颜色、线条或标记代表什么;
- 图中的标注,指出某个结果或变化;
- 图注和正文引用,补充使用条件与解释。
这些内容需要被视为一个整体。技术上,系统要判断它们之间的关联,而不能只依靠“离得近”这一条规则:
- 图注可能在图的下方,也可能因为分页出现在下一页;
- 两栏页面中,最近的一段文字不一定就是图表的说明;
- 正文可能通过“见图 2”这样的引用,跨越较远的距离指向图表;
- 图表里的文字可能是可提取文本,也可能已经和图形合并成一张图片;
- 坐标轴、图例和数据标签需要翻译,但数字和数据关系不能被改动。
翻译时要尽量保留数据、图形和说明之间的关系,而不是只把能提取出来的句子翻译掉。换句话说,系统不仅要识别“这里有一段文字”,还要判断“这段文字在这张图里扮演什么角色”。
这也是为什么图表的还原不能只用“文字有没有翻译”来判断。还需要看:图例是否仍然对应正确,单位有没有丢失,图注是否仍然能找到,以及正文提到的“图 2”是否真的指向那张图。只要其中一个关联错了,图表虽然还在,读者理解到的内容也可能已经变了。
公式难处理的,是它周围的关系
公式本身通常不需要被翻译,但我们要还原的是它和周围文字的关系:变量如何解释,编号如何引用,公式前后的限定条件如何保留。
例如,公式中的变量可能会在下一段解释,公式编号可能会在正文中被引用,公式前后的限定条件也可能决定结论是否成立。如果只保留公式,却让变量说明、编号或上下文失去对应,读者仍然很难使用它。
从技术上看,公式还可能以不同形式存在:有些由文本字符和矢量线条组合而成,有些已经是一张图片,未必保留了原编辑器中的数学结构。提取时,上标、下标、根号和希腊字母可能被拆散或混淆;重新排版时,公式又不能像普通句子一样随意换行。公式、编号与正文引用也需要保持对应,不能因为位置或顺序处理错误,让读者把“公式(3)”理解成另一条公式。
因此,公式还原至少要关注几件事:
- 公式中的符号、上下标和特殊字符是否完整;
- 公式编号是否和正文引用保持一致;
- 变量说明是否仍然紧跟在相关位置;
- 公式换行后是否清晰可读;
- 公式周围的解释文字是否被错误地拆开。
对于论文和技术资料来说,公式是否“看起来还在”只是最基本的检查。它和前后文字的关系同样重要。
表格错一个位置,数字就可能变成另一个意思
表格要还原的不是边框和线条本身,而是行、列、表头、单位、注释与数字之间的关系。表格中的一个数字,只有和正确的行、列、表头及单位放在一起,才有完整的含义。
实际文件里,表格可能包含合并单元格、跨页表头、没有边框的隐形列,甚至只是用空格排出来的文本。翻译后,某个单元格里的文字变长,可能影响整列宽度;如果只按原来的坐标放回去,文字就可能溢出、遮挡下一列,或让读者误以为一个数字属于另一行。
因此,表格还原要保留的是行列关系、表头层级、单位和注释,而不是只把线条画回相同的位置。
译文变长以后,页面要重新找到平衡
即使已经正确识别了页面结构,翻译完成后仍然会遇到一个实际问题:不同语言表达同一个意思时,所需要的空间并不相同。这里要还原的,不是每个字符的原坐标,而是标题、段落、图表和公式之间仍然清楚的空间关系。
一段英文译成中文后,可能变短,也可能因为术语、括号和解释变长。换一种语言时,单词是否可以换行、标点怎样排列、字体宽度如何变化,都会影响页面最终的样子。
这会进一步影响:
- 双栏中的换行位置;
- 标题是否需要占用两行;
- 图表旁边是否还有足够空间;
- 表格中的文字是否会超出单元格;
- 原来的页面区域是否还能容纳完整译文。
因此,翻译后的排版不能只是把译文贴回原来的文字框。它需要在结构相近和阅读舒适之间取得平衡。
我们怎样把这些关系还原回来
在 iSomor 的处理思路里,排版还原不是最后才补上的装饰,而是翻译过程的一部分。当前处理以可提取文字的 PDF 为基础,将页面布局识别、段落组织、翻译和译文排版连接起来。下面的几个环节,既说明我们在处理什么,也说明我们怎样判断还原是否有用;并不意味着所有复杂关系都已经能够被自动识别和校验。
先把页面拆成可以理解的内容对象
页面解析需要结合文字的位置与布局区域,尽量区分正文、标题、图表和公式等内容,再组织需要翻译的段落。这里的目标不是把页面切成更多小块,而是减少本该相连的文字被拆开、不同区域的文字被混在一起的情况。
表格就是一个具体例子。我们的实现中加入了单元格区域信息,辅助后续的段落分组:同一格里的几行文字,尽量放在一起理解;不同格里的内容,尽量不要串到一起。但这不等于所有表格都已被准确重建。无边框表格、复杂表头和格内多段内容,仍可能出现分组错误,需要继续核查。
让关联信息尽量留在一起
识别出图表还不够。还原结果是否有用,还要看图注、图例和正文引用能否与它对应;公式也是一样,编号和变量说明不能失去联系。
这首先是一项还原目标,而不是对系统已经理解所有引用关系的承诺。实际文件中,保留原有图形、编号及附近文字的位置关系,有助于读者继续核对;但对跨页图注、远距离引用或已经合并到图片里的文字,不能仅凭页面看起来完整,就认定这些关联已经被正确处理。
在段落中保留必要的上下文
当前翻译处理以段落为单位,而不是把每一个文字行都当作独立句子。尽量正确地组织段落,能减少一句话被截开后失去上下文的问题。
但段落分组并不能自动保证全文术语一致。标题、正文、图例和表格中的同一个术语仍可能出现不同译法,特别是它们分属不同区域时。对重要术语和结论,我们仍建议结合原文核对,不把翻译完成当作已经完成了全文一致性检查。
根据译文重新计算页面空间
文字长度变化之后,需要根据可用区域重新安排换行和文字布局,同时尽量保留图表、公式等内容。困难在于,单个段落放得下,不代表它与相邻区域之间就不会出现冲突。
例如,标题译成两行后,是否挤到了下面的内容;图注变长后,是否超出了原有空间;表格中的译文是否碰到了相邻列。这些都说明,重新排版是在一组相互约束的区域中寻找可读的布局,而不是把文字逐个贴回原坐标。这里不把自动重建栏宽、跨页移动图表或重新分页,当作所有文件都能获得的效果。
最终结果不一定和原文件逐像素相同。更重要的是,读者仍然能区分标题和正文,找到图表对应的说明,并沿着原来的论述继续读下去。
最后回到原文,检查内容和版式
一份页面看起来整齐,并不代表它已经正确。核查时需要分别看三类问题:内容有没有遗漏或重复,关系有没有错配,页面有没有重叠、截断或顺序错误。这些是检查结果时应关注的维度,不表示工具已经自动完成了全部内容和视觉核验。
例如,图表可能完整地出现在页面上,但图注与它的对应关系已经变得不清楚;公式可能没有缺失,但上下标被放到了错误的位置;表格看起来对齐,某个数字却已经落在了相邻列。这些问题需要通过内容和结构的对照来发现,不能只靠最后的截图检查。
对于数字、术语、公式和结论,原文仍然是重要参照。排版还原可以减少寻找和核对的阻力,但不能替代读者对关键内容的判断。
我们追求的是可继续阅读,而不是一张完全相同的图片
“还原”很容易被理解成每个字、每条线都必须和原文停在完全相同的位置。但在语言已经改变的情况下,这个目标并不总是合理。
如果为了保持原来的行数,把译文缩得很小,或者让段落挤在一起,页面虽然更像原文,阅读反而会变得困难。相反,在可用区域内适当调整换行、字号或行距,只要标题、图表、公式和说明之间的关系仍然清楚,读者可能更容易继续读下去。
所以,我们更关心的是几件实际的事:
- 内容有没有完整保留下来;
- 阅读顺序是不是清楚;
- 图表、公式和正文能不能对应;
- 读者能不能在需要时回到原文核对;
- 页面是否仍然适合真实阅读。
这也是 iSomor 希望解决的问题。我们不是把 PDF 变成一串翻译后的句子,而是尽量让它仍然像一份可以被阅读、查找和继续使用的资料。
复杂文件仍然需要检查
不同 PDF 的来源和制作方式差别很大。iSomor 当前面向包含可提取文字的 PDF;整页扫描图片所需的 OCR 识别不在当前开放范围内。即使是文字 PDF,复杂的嵌套表格、特殊字体,以及合并在图片里的文字,也可能超出自动处理的能力边界。
因此,翻译完成后,尤其是论文中的关键数字、公式、图表和结论,仍然值得回到原文检查。我们不把版式看起来整齐,当作内容已经完全正确的证明。
对我们来说,技术工作的意义不是把复杂性转交给读者,而是尽量提前处理那些会打断阅读的部分。少一次重新整理,少一次寻找对应位置,读者就多一点机会把注意力放回资料本身。