系列第四篇,讲最难的一块:PDF 保排版翻译。网页翻译处理的是结构化 DOM,PDF 面对的是绝对坐标的文本层——思路完全不同。
PDF 不是「文档」而是「绘制指令集」。每个字符都有坐标,没有段落、没有语义结构,双栏论文的左右栏在文本层里可能交错存储。这就是为什么很多翻译工具翻 PDF 会乱:它们按文本流顺序翻译,而文本流顺序 ≠ 视觉阅读顺序。
我们的处理流程分四步:
翻译完的文本要塞回原来的位置,三个硬约束:
渲染用 PDF.js 解析 + Canvas 叠加译文层,导出时重建 PDF。实测一篇 30 页双栏论文,定位+翻译+回填全流程 40 秒左右,首屏渲染 300 毫秒内。
保排版的本质是尊重原始版面作为语义的一部分——论文的版面本身就是信息(栏对应章节结构、图表位置对应论述位置)。破坏版面的翻译,损失的不只是美观。
(技术实践来自随心翻译的 PDF 翻译模块。)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。