ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

PDFMathTranslate 网页翻译服务部署指南:三步从本机到全网访问

PDFMathTranslate 网页翻译服务部署指南:三步从本机到全网访问 PDFMathTranslate 网页翻译服务部署指南三步从本机到全网访问【免费下载链接】PDFMathTranslate[EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译支持 Google/DeepL/Ollama/OpenAI 等服务提供 CLI/GUI/MCP/Docker/Zotero项目地址: https://gitcode.com/GitHub_Trending/pd/PDFMathTranslate团队里分享一篇论文用通用翻译工具把 PDF 翻成中文出来的公式、图表和目录却全乱掉了。PDFMathTranslate命令行名pdf2zh就是一个能完整保留排版与公式的 PDF 翻译工具并且自带基于 Gradio 的网页界面非常适合在局域网或公网给同事一起用。这篇文章按先选部署方式、再逐级扩大访问范围的路子走一遍先在本机把网页服务跑起来验证效果再开放给办公室局域网最后加上登录密码和域名 SSL 对外发布每一步都只给必要的命令。 先做选型你的机器适合哪种跑法在敲第一条命令之前先按手上有什么环境来选路线后面所有步骤都以这个选择为基础方案需要准备什么适合谁要注意什么pip install pdf2zhPython 3.11–3.12开发者、想随时改配置的人依赖装在系统环境里干净与否要自己负责Dockerbyaidu/pdf2zh只要 Docker服务器长期挂着的场景镜像首次拉取较慢国内网络慢时换源源码构建git Python 3.11–3.12需要改代码、看行为细节的人构建步骤最多新手不建议直接选它三种方式里个人试用选 pip 最快要挂到服务器上给团队用直接上 Docker环境隔离最省心。源码方式只需一条命令拿到代码git clone https://gitcode.com/GitHub_Trending/pd/PDFMathTranslate cd PDFMathTranslate▶️ 第一步本机启动网页版先确认效果以 pip 方式为例先装再跑pip install pdf2zh pdf2zh -i-i表示进入图形界面模式。启动完成后浏览器会自动打开若没反应手动访问http://localhost:7860/即可——7860是 Gradio 服务的默认端口后面所有网络配置都围绕它展开。把 PDF 拖进窗口、点 Translate翻译时程序会用一个版面检测模型先识别公式、表格区域所以首次启动会自动下载该模型。如果你的网络下载缓慢先设置 HF 镜像再启动export HF_ENDPOINThttps://hf-mirror.com # Windows 用 set HF_ENDPOINThttps://hf-mirror.com验证标准很简单翻完的文档里公式还是公式、目录还能点。对比一下翻前翻后的效果能直观看到排版被保留的程度Docker 路线则只需两行效果等价docker pull byaidu/pdf2zh docker run -d -p 7860:7860 byaidu/pdf2zh-p 7860:7860把容器内端口映射到本机 7860这样浏览器同样访问localhost:7860。项目里的 Dockerfile 与 docker-compose.yml 也给出了从源码构建的完整配置docker compose up -d即可。 第二步开放给局域网里的同事这一步很多人会卡住其实有个好消息pdf2zh -i启动的界面默认就绑定0.0.0.0见 pdf2zh/gui.py 中setup_gui的绑定逻辑也就是说同网段设备无需额外参数就能访问直接用http://服务器IP:7860/打开即可。真正需要做的是排查为什么连不上端口冲突7860 被占用时换一个pdf2zh -i --serverport 8080Docker 侧同步改成-p 8080:7860防火墙拦截本机防火墙如ufw放行 7860 的入站 TCP云服务器记得在安全组里同步放行Windows 绿色版从 Release 下载解压后双击pdf2zh.exe即可本机使用但它本质仍是单机应用团队共享请改用 pip 或 Docker 方式部署在一台固定机器上。判断是否成功的标准局域网里另一台设备的浏览器能打开页面且能完整翻译一次。到此为止办公网内共享 PDF 翻译的需求已经闭环。 第三步加一道登录门槛局域网内使用建议先到这一步为止只要准备跨网段或公网发布就必须先配账号否则任何拿到地址的人都能调用你的翻译服务。用--authorized指定一个用户文件# users.txt每行一个账号用户名,密码 echo admin,你的密码 users.txt pdf2zh -i --authorized users.txtDocker 方式则把用户文件挂进容器并改启动命令docker run -d -p 7860:7860 \ -v $(pwd)/users.txt:/app/users.txt \ byaidu/pdf2zh pdf2zh -i --authorized /app/users.txt挂载用户文件而不是把账号写死在命令里是为了之后加人时改文件重启即可不用动部署脚本。想要自定义登录页样式还可以在--authorized后追加一个auth.html格式参考 docs/ADVANCED.md 的 Authorization 一节。 第四步域名 SSL安全地开放公网公网访问不要直接把 7860 端口暴露出去而是让 Nginx 反向代理到本机服务。核心配置就一段server { listen 443 ssl; server_name translate.example.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://127.0.0.1:7860; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 100M; # 网页上传 PDF 的体积上限 } }两个细节容易忽略client_max_body_size要留够否则上传稍大的 PDF 会被直接拒绝同时把 7860 端口从安全组/防火墙中移除公网放行只允许 Nginx 从127.0.0.1回源这是只暴露 443这一原则的关键。临时快速体验比如演示给客户看时可以用pdf2zh -i --share生成一个临时公网链接几分钟就能拿到 URL但它是短期隧道链接不适合长期服务。⚙️ 使用中的常用配置与排错服务跑起来之后日常用得最多的其实就三个参数-s切换翻译引擎如-s deepl、-s openai配合对应环境变量传入 API Key。引擎清单与配置方法见 docs/ADVANCED.md 的 services 一节-t翻译并发线程数设为 CPU 核数的一半左右即可开太大容易被翻译服务商限流--prompt加载自定义提示词文件支持${text}、${lang_in}、${lang_out}三个变量学术场景可以加一句保留公式与专业术语来稳定译文风格。翻译结果偶发乱码字体时加--skip-subset-fonts禁用字体子集化再试国内下载模型慢的问题前面HF_ENDPOINT那招同样适用于容器——在docker run时加-e HF_ENDPOINThttps://hf-mirror.com。收尾下一步做什么如果按上面的顺序做完你现在手里应该有一个本机可验证、局域网可达、带登录、可上公网的 PDF 翻译网页服务。接下来可以按需求继续想批量处理整个文献目录看 docs/ADVANCED.md 的批量翻译与缓存配置想把它接进自己的工作流docs/APIS.md 提供了 Python API 与 HTTP API 两种集成方式还在用 Zotero 管文献的话可以试试社区基于它做的 Zotero 插件在文献库里直接触发翻译。有任何参数拿不准项目文档的 docs/ADVANCED.md 是全量选项的权威出处建议收藏备用。【免费下载链接】PDFMathTranslate[EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译支持 Google/DeepL/Ollama/OpenAI 等服务提供 CLI/GUI/MCP/Docker/Zotero项目地址: https://gitcode.com/GitHub_Trending/pd/PDFMathTranslate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表