开源PDF翻译工具PDFMathTranslate

简介

什么是 PDFMathTranslate ?

PDFMathTranslate 是一个用于 PDF 科学论文的翻译工具,旨在保留文档的排版格式。它支持多种翻译服务,如 GoogleDeepLOllamaOpenAI。该工具提供命令行界面(CLI)、图形用户界面(GUI)和 Docker 部署选项,使用户能够方便地翻译 PDF 文件。

主要功能

  • 双语翻译 :支持将 PDF 文档翻译为多种语言。
  • 格式保留:翻译过程中保留公式、图表、目录和注释等格式。
  • 多种使用方式 :可通过命令行、可移植版本、图形界面或 Docker 进行使用。
  • 公共服务:提供在线翻译服务,用户无需安装任何软件。

适用场景:

  • 学术研究人员和学生需要翻译和比较双语文献。
  • 任何需要处理和翻译 PDF 文档的人。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 pdf2zh ,选择第一个 byaidu/pdf2zh,版本选择 latest

本文写作时, latest 版本对应为 v1.8.8

注意事项

需要确保你的主机能够访问 huggingface.co,否则容器会停止或者不断重启,日志中会看到错误

log 复制代码
pdfmt    |   File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 369, in _raise_timeout
pdfmt    |     raise ReadTimeoutError(
pdfmt    | urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='huggingface.co', port=443): Read timed out. (read timeout=1)

或者

log 复制代码
pdfmt    | huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on.

docker 文件夹中,创建一个新文件夹 pdfmt,并在其中建两个子文件夹 inputoutput

其实不用命令行的话,可以用不着输入、输出目录

文件夹 装载路径 说明
docker/pdfmt/input /input 输入文件目录
docker/pdfmt/output /output 输出文件目录

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
7860 7860

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 pdfmt 和 子目录
mkdir -p /volume1/docker/pdfmt/{input,output}

# 进入 pdfmt 目录
cd /volume1/docker/pdfmt

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name pdfmt \
   -p 7860:7860 \
   -v $(pwd)/input:/input \
   -v $(pwd)/output:/output \
   byaidu/pdf2zh

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3'

services:
  pdfmt:
    image: byaidu/pdf2zh
    container_name: pdfmt
    restart: unless-stopped
    ports:
      - "7860:7860"
    volumes:
      - ./input:/input
      - ./output:/output

然后执行下面的命令

bash 复制代码
# 新建文件夹 pdfmt 和 子目录
mkdir -p /volume1/docker/pdfmt/{input,output}

# 进入 pdfmt 目录
cd /volume1/docker/pdfmt

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:7860 就能看到主界面

老苏随便找了一篇英文的文档

下载地址:https://www.jsme.or.jp/conference/PRTEC2024/submission/240329-PRTEC2024-template.pdf

软件的使用不复杂,所以下面只简单的介绍下 AI 模型的设置

Google 模型

pdf 文件拖入,用了默认的 google 模型,为了快速, Pages 中选择了单页,用了 First,也就是只翻译首页

如果网络访问 google 没问题的话,还是非常快的

如果网络不行,可以试试本地的大模型

Ollama 模型

还可以选择其他的 AI 服务,老苏的机器上正好有 Ollama

文章传送门:本地大模型运行框架Ollama

模型用了 qwen2.5:1.5b

  • ServiceOllama
  • OLLAMA_HOSThttp://192.168.0.197:11434
  • OLLAMA_MODELqwen2.5:1.5b

翻译完成后

OpenAI 模型

另外试了下 OpenAI 兼容的模型

文章传送门:

模型设置参数设置

  • OPENAI_BASE_URLhttp://192.168.0.197:3033/v1 , 这是老苏机器上 One API 的地址
  • OPENAI_API_KEYsk-7tB7PvWBs8oWUFJLFaF5F8EfC4Db43Ba9dE18698A0929c47 , 这是 One API 中的令牌
  • OPENAI_MODELkimi,这是 One API 中为 kimi-free-api 设置的模型名称

左侧会生成两个文件

其中 Mono 是翻译后的版本, Dual 是对照的版本

参考文档

Byaidu/PDFMathTranslate: PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker

地址:https://github.com/Byaidu/PDFMathTranslate
PDFMathTranslate - PDF Translation with preserved formats

地址:https://pdf2zh.com/

相关推荐
算家计算10 分钟前
蚂蚁开源万亿参数大模型Ling-1T:多项能力全球领先
人工智能·开源·资讯
leijiwen12 分钟前
S11e Network 商业模型:AI × Web3 × RWA 驱动的实体经济新范式
人工智能·web3·区块链
说私域39 分钟前
技术指数变革下的组织适应性研究:基于定制开发开源AI智能名片S2B2C商城小程序的实践观察
人工智能·小程序·开源
realhuizhu41 分钟前
📚 技术人的阅读提效神器:多语言智能中文摘要生成指令
人工智能·ai·chatgpt·prompt·提示词·总结·deepseek·摘要
szxinmai主板定制专家44 分钟前
一种基于 RK3568+AI 的国产化充电桩安全智能交互终端的设计与实现,终端支持各种复杂的交互功能和实时数据处理需求
arm开发·人工智能·嵌入式硬件·安全
apocalypsx1 小时前
深度学习-Kaggle实战1(房价预测)
人工智能·深度学习
春末的南方城市1 小时前
开放指令编辑创新突破!小米开源 Lego-Edit 登顶 SOTA:用强化学习为 MLLM 编辑开辟全新赛道!
人工智能·深度学习·机器学习·计算机视觉·aigc
37手游后端团队1 小时前
Claude Code Review:让AI审核更懂你的代码
人工智能·后端·ai编程
飞快的蜗牛1 小时前
利用linux系统自带的cron 定时备份数据库,不需要写代码了
java·docker
源代码杀手2 小时前
深入解析 Spec Kit 工作流:基于 GitHub 的 Spec-Driven Development 实践
人工智能·github