首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >打破PDF翻译壁垒!智能穿透让学术资料跨国界无障碍

打破PDF翻译壁垒!智能穿透让学术资料跨国界无障碍

作者头像
YY的秘密代码小屋
发布2025-07-17 17:13:11
发布2025-07-17 17:13:11
1360
举报
文章被收录于专栏:C++系列C++系列

前言

是否经历过这样的焦虑?明明外文文献里的数学推导很精彩,但满屏的LaTeX公式和图表却让翻译软件直接崩溃——这正是PDFMathTranslate存在的意义。它像给学术文档装了"格式保护罩",能在不破坏排版的前提下完成精准翻译,甚至能识别并保留复杂的微分方程与化学结构式。

这款开源工具的亮点远不止于此:支持多语言互译的同时还能自定义术语库——程序员可以导入技术词典优化代码注释翻译,医学生则能添加专业词汇确保医学文献准确性。更贴心的是它支持断点续传功能,即使网络波动也能保证大文件翻译不中断。

而cpolar的远程访问能力让协作变得像发消息一样简单:跨国团队通过加密隧道实时查看同一份译稿;在家用平板就能继续未完成的文档处理。这种设计完美适配分布式科研场景——不同时区的成员能像使用云端服务一样同步工作进展,完全不用依赖公网服务器的稳定性。

image-20241225140751076
image-20241225140751076

1. Docker部署

本例使用Ubuntu 22.04进行演示,使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

安装好Docker后,打开终端执行这行命令启动容器即可:

代码语言:javascript
复制
sudo docker run -d -p 7860:7860 byaidu/pdf2zh

现在就已经部署完毕了,打开任意浏览器输入localhost:7860,就可以访问到PDFMathTranslate的web操作页面了。

2. 简单使用演示

访问成功后,我们能看到PDFMathTranslate的操作界面非常简洁明了,左上方可以上传要翻译的文档,支持文件与链接两种方式。

image-20241225141239758
image-20241225141239758

文件上传下方的设置选择中,我们可以在Service的下拉选项中选择使用哪个服务进行翻译:

image-20241225141554281
image-20241225141554281

接着选择好翻译语言从哪个翻译到哪个,翻译多少页文档后,点击蓝色的翻译按钮即可:

image-20241225141714055
image-20241225141714055

我这里使用的是本地部署的ollama,调用qwen2模型进行测试:

需要添加Host地址和模型的名字

d92e6bc106f77128d889f117a8dd852
d92e6bc106f77128d889f117a8dd852

实际翻译时间根据配置不同,翻译完成之后,点击文件名后边的下载标志即可下载翻译好的PDF文档。

image-20241225175005977
image-20241225175005977

3. 安装cpolar内网穿透

不过我们目前只能在本地局域网内访问刚刚部署的PDFMathTranslate来进行翻译,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。无需公网IP,也不用设置路由器那么麻烦。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令:

代码语言:javascript
复制
sudo curl https://get.cpolar.sh | sh
img
img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

代码语言:javascript
复制
sudo systemctl status cpolar
img
img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424
image-20240801133735424

4. 配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: pdffy ,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:7860
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建:

image-20241225173715046
image-20241225173715046

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。

image-20241225173813659
image-20241225173813659

如下图所示,现在就已经成功实现使用公网地址异地远程访问本地部署的 PDFMathTranslate 随时随地翻译外文PDF文档啦。

image-20241225173949765
image-20241225173949765

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用PDFMathTranslate,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

5. 配置固定公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是pdffy01,大家可以自定义。填写备注信息,点击保留。

image-20241225174155227
image-20241225174155227

保留成功后复制保留的二级子域名地址:

image-20241225174225778
image-20241225174225778

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道pdffy,点击右侧的编辑

image-20241225174307442
image-20241225174307442

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20241225174347572
image-20241225174347572

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20241225174423234
image-20241225174423234

最后,我们使用固定的公网地址在浏览器中访问,可以看到成功访问本地部署的PDFMathTranslate,这样一个永久不会变化的二级子域名公网网址即设置好了。

更多项目详情可以访问作者github项目主页:https://github.com/Byaidu/PDFMathTranslate

以上就是如何在本地Ubuntu系统使用Docker快速部署开源PDF翻译服务PDFMathTranslate,并安装cpolar内网穿透工具配置固定不变的二级子域名公网地址,实现随时随地远程在线翻译pdf文档的全部流程。

“语言藩篱不该阻隔知识传播。这个组合方案证明:掌握核心技术后,信息共享可以像本地软件操作般自由流畅——现在就去Git仓库看看PDFMathTranslate如何让你把全球论文变成自己的思想孵化器!”
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1. Docker部署
  • 2. 简单使用演示
  • 3. 安装cpolar内网穿透
  • 4. 配置公网地址
  • 5. 配置固定公网地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档