
1、写在前面怎么就想聊标题里这三个库了呢?要从下面这个故事说起。在前几篇文章里,有小伙伴留言说:他在用PDFMathTranslate-next时,想把文档布局分析模型 DocLayout-YOLO 换成百度的 PP-DocLayoutV3,想提高翻译效率和精度,但替换过程中遇到了一些问题。所以想让我也尝试搞一搞。这个公众号是从去年开始写的。我发现一个很有趣的事情——那些评论和私信我的小伙伴,总是能让我开拓眼界,提供一些新的思路和方法。所以我也十分乐意顺着这些话题往下挖。由于任务比较复杂,这一篇先把三个库各自干什么研究一下。替换方案涉及推理接口、类别体系、坐标约定,我一个周末确实搞不定,就放在下一个礼拜吧。2、这三个库是啥关系简单描述就是:PDFMathTranslate-next(pdf2zh_next)---主要用的是它,入口 ↓ 依赖 BabelDOC(PDF 翻译后端) ↓ 其中版面分析用到 DocLayout-YOLO(布局检测模型,一般以 ONNX 形式接入)PDFMathTranslate-next是面向用户的产品,提供命令行、WebUI 和 Windows EXE 等多种使用方式。我们安装的就是它。BabelDOC是真正干活的 PDF 翻译引擎,负责抽字、版面分析、内容重排和写回 PDF 等核心工作。DocLayout-YOLO是一个版面分析算法模型,负责识别标题、正文、公式、图表等文档区域。工作的主线是:读 PDF 文字层 → 本机做版面分析 → 把句子丢给翻译服务 → 再按原版面写回 PDF。所以,它们根本就没有使用传统的OCR模型,不是文字识别而是直接读 PDF 文字层。好吧,你这个狡猾的家伙!3、PDFMathTranslate3.1 它是什么PDFMathTranslate(当前活跃分支多叫PDFMathTranslate-next,命令一般是pdf2zh_next)定位:PDF 科学论文翻译与双语对照。它的主要任务是:外面一层:安装方式、WebUI、配置、各种翻译服务适配里面一层:BabelDOC 负责 PDF 管线编排,调用 DocLayout-YOLO 做版面分析,调用翻译服务翻译句子。补充一下,它默认是调用硅基流动的翻译服务的,我们暂时不用账号登录和付费。仓库地址:https://github.com/PDFMathTranslate-next/PDFMathTranslate-next