乐于分享
好东西不私藏

开源PDF翻译工具:保留公式代码表格和排版

开源PDF翻译工具:保留公式代码表格和排版

科研人、技术文档党的福音,一键翻译PDF,排版分毫不差

#PDF翻译#保留排版#科研工具#开源神器#OCR翻译

辛辛苦苦找到一篇外文论文,想翻译成中文对照着看,结果用在线工具一翻——

公式变成一堆乱码、图表飞出页面、段落错位,完全拉垮。

更别提扫描版的PDF,简直就是“翻译黑洞”,要么完全没法处理,要么出来的排版比原版还丑。

每次都得手动重排、复制粘贴、截图拼接,耗时耗力,最后直接放弃翻译,硬啃原文。

别急,今天要给你种草的这款开源项目——RetainPDF,就是专门来终结这些痛苦。它不仅能翻译PDF,还能原封不动地保留排版、公式和结构,连扫描版/图片型PDF都能搞定。而且它完全免费,本地部署,隐私安全,还能自己调教翻译策略。看完这篇文章,你大概率会立刻去下载一个试试。

什么是RetainPDF?一句话讲清

RetainPDF是一个开源的PDF保留排版翻译工具,由开发者wxyhgk发布在GitHub上,目前已有822颗星。它专治各种PDF翻译中的“疑难杂症”:

  • 扫描版/图片型PDF
    :OCR识别 + 翻译 + 排版回填,一步到位。
  • 复杂行内公式
    :不会把$\sum_{i=1}^{n} x_i$变成“西格玛 i 从1到n xi”。
  • 代码块、表格
    :不乱翻、不乱拆。
  • 自定义翻译策略
    :按规则配置,比如某些段落不翻、某些术语固定。
  • 多端部署
    :Windows、macOS、Linux桌面版,或者Docker部署给团队用。

简单说,它就是一个能让你从“翻译累死”变“翻译躺平”的省心神器

痛点场景:谁需要它?

  • 研究生/科研狗
    :每天要看十几篇外文论文,PDF里公式、图表、参考文献混在一起。用传统翻译工具,公式全变文本框,图表位置飘移,参考文献编号错乱。
  • 技术文档维护者
    :要翻译英文API文档、技术手册,里面全是代码片段和命令行。通用翻译器经常把git commit -m "fix bug"翻译成“git 提交 -m “修复bug””,还带引号,简直灾难。
  • 学生/自学者
    :下载了扫描版的外文教材,想一边看原版一边对照中文,结果OCR翻译出来的排版比原书还难读。
  • 团队协作
    :多个同事需要同时翻译同一份PDF,或者要把翻译流程嵌入自动化pipeline。

这些场景下,RetainPDF就是最省心的解决方案。

核心亮点:三个功能卡片

① 扫描PDF也能翻
连图片型文档都不怕

大部分PDF翻译工具只能处理“可复制/可编辑”的PDF(即文字层完整的文件)。一旦遇到扫描版——比如老教材、照片扫描的论文、甚至手机拍的页面,它们就歇菜了。

RetainPDF内置了OCR引擎,能精准识别图片中的文字、公式、图表,然后翻译并回填到原位置。翻译后的PDF从外观上看,跟原文几乎一模一样,只是文字变成了中文。

实测效果:一张满是公式的扫描论文,翻译后公式符号、上下标、分数形式都完美保留,没有变成方框或乱码。

② 公式与代码绝不误伤
行内公式、代码块精准保护

这是RetainPDF拿手绝活。很多工具为了省事,会把所有内容统一扔给大模型翻译,结果:

  • $E=mc^2$
     被翻译成 “E 等于 m c 平方” 并换行
  • print("Hello")
     被翻译成 “打印(“你好”)”

RetainPDF能做到不误翻代码和公式,尤其是行内公式(比如写在文本段落里的$x_i$)。它内置了智能识别模块,把公式、代码、表格等“非自然语言内容”保护起来,只翻译纯文本部分。同时,表格可以按列/按行控制是否翻译,避免表头被乱改。

③ 调教翻译策略,多端一键部署
想怎么翻就怎么翻

这不是一个“黑箱工具”。你可以在RetainPDF里自定义翻译规则,比如:

  • 指定某些段落不翻译(例如参考文献引用、公司名称)
  • 设置术语表,强制“Transformer”翻译成“变压器”而不是“转换器”
  • 开启/关闭表格翻译、代码块保护

而且它支持多端部署

  • 个人用户:下载桌面端(Windows/macOS/Linux),拖拽PDF就开翻。
  • 团队使用:用Docker一键启动,局域网内所有人可访问,还有REST API接口,方便集成到自动化流程。

翻译完成后,PDF体积还能压缩优化(比原版还小),方便分享和存储。

适合谁 / 不适合谁

适合

  • 需要频繁翻译科研论文、技术文档的科研人员、工程师、学生
  • 对排版有强迫症的人(比如我)
  • 使用翻译工具但忍受不了公式乱码的人
  • 想本地部署、保护数据隐私的企业或团队

不太适合

  • 只是想简单看一段文字大意,不关心排版的人(那直接用在线翻译就行)
  • 完全不懂技术、也不愿意学一点点配置的人(虽然桌面端已经很简单,但Docker部署仍需基础)
翻译PDF的目的不是为了“看懂字”,而是为了“保留原文的视觉信息”——公式的位置、图表的排列、代码的格式,这些才是文档的灵魂。RetainPDF让我第一次觉得,原来翻译可以这么省心。

如何快速上手?三分钟开始使用

方式一:桌面端(推荐个人使用)

  • 去GitHub Releases下载对应平台的安装包:Windows下Setup.exe,macOS下.dmg,Linux下.deb
  • 安装后打开,直接把PDF拖进去,选择源语言和目标语言,点击“开始翻译”。
  • 等待一会儿,就能下载到翻译后的PDF。
  • macOS用户注意:由于没有Apple开发者签名,第一次打开会提示“已损坏”,只需在终端执行sudo xattr -rd com.apple.quarantine /Applications/RetainPDF.app即可。

方式二:Docker部署(适合团队或自动化)

  • 下载docker/delivery/docker-compose.yml,执行docker compose up -d
  • 启动后访问http://localhost:40001即可使用Web界面。
  • 前后端分离,还提供REST API(端口41000)和简便同步接口(42000),方便集成。

更新也超简单:直接docker compose pulldocker compose up -d,搞定。

小贴士:注意事项

如果你用桌面版,遇到翻译结果不理想(比如某段公式被破坏),可以在设置里手动标记“保留”区域,或者调整翻译策略。RetainPDF的开发者正在持续优化长文块和公式场景的稳定性,目前已经非常可用。

另外,RetainPDF目前还在活跃开发中,如果你对OCR、版面解析、排版回填等方向感兴趣,欢迎去GitHub看看贡献指南(仓库是wxyhgk/retain-pdf)。开源社区需要你的力量。

好了,种草就到这里。如果你受够了PDF翻译排版崩坏的折磨,别犹豫,现在就去下载一个试试。相信我,翻译完第一份论文,你就会回来收藏这个项目。

持续分享优质 AI 开源项目与源码实战,一个人摸索很容易踩坑。

对 Agent、智能体感兴趣的朋友,无论新手还是大佬,都欢迎一起交流。私信「时之」拉你进群。

想拿到仓库地址,直接动手试试?

GITHUB: https://github.com/wxyhgk/retain-pdf