ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

PDFMathTranslate 网页部署实战:从本机到团队公网访问

2026/9/1 14:29:31 拓冰建站 浏览量
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/PDFMathTranslatePDFMathTranslate 用 AI 对 PDF 论文做双语翻译并保留公式排版。本文讲 PDFMathTranslate 网页部署本机跑通界面、局域网共享、账号限制、反向代理加 HTTPS 公网访问。不含模型调优与集群部署。选部署方式Python、Docker 还是 Windows 绿色版三种安装路径最终启动的都是同一个 Gradio 网页服务差别只在环境管理方式你的情况选哪种一句话差异服务器长期给团队跑Docker依赖打进一个镜像Dockerfile 里已包含 LibreOffice 等系统库自己机器上做开发测试Python 直装改代码即时生效但要自己维护 Python 3.10 以上环境Windows 个人使用绿色版压缩包解压即运行不装任何东西服务器场景建议从源码构建仓库里的 script/Dockerfile.China 针对国内网络调整了依赖源构建慢时可以换它。把 PDFMathTranslate 跑起来并完成首次翻译以团队最常用的 Docker 路径为例git clone https://gitcode.com/GitHub_Trending/pd/PDFMathTranslate.git cd PDFMathTranslate docker compose up -d --build这条命令按 docker-compose.yml 构建镜像并后台启动容器端口 7860 已映射到宿主机。想换端口只需修改 compose 文件里的ports行。验证服务是否就绪curl -I http://127.0.0.1:7860看到HTTP/1.1 200即说明服务在监听。浏览器打开http://localhost:7860Gradio 页面会自动弹出启动逻辑在 pdf2zh/gui.py 中。Python 直装路径只有两步pip install pdf2zh pdf2zh -i-i即启动图形界面默认监听 7860 端口。端口被占用时加--serverport 7861换一个。Windows 绿色版从项目 Releases 页下载pdf2zh-version-win64.zip解压后双击pdf2zh.exe浏览器会自动打开本地服务启动失败一般补装 VC 运行库即可。界面上传一篇论文选择源语言、目标语言和翻译服务点击开始翻译等待输出文件出现即为完成。下面的预览动画展示了翻译过程与双语版面的对应关系一行命令开放局域网访问 先说结论通常不需要额外参数。setup_gui会依次尝试绑定::、0.0.0.0、127.0.0.1绑到0.0.0.0即对局域网开放Docker 路径下 compose 已映射 7860 端口。团队成员直接用http://服务器IP:7860访问。在任一台办公电脑上验证连通性curl -I http://服务器IP:7860同样返回 200 即通。这一层的风险是服务完全无鉴权局域网内任何人都能调用翻译、消耗你的 API 额度上传内容也只有服务端口一个访问控制点适合先小范围试用。加账号密码避免服务被滥用给服务加上登录门禁格式为每行一个用户、逗号分隔printf alice,pw-alice\nbob,pw-bob\n users.txt pdf2zh -i --authorized users.txt--authorized第一个参数是用户文件可选第二个参数传入自定义登录页 HTML解析逻辑见 pdf2zh/gui.py 的parse_user_passwd。Docker 部署时把users.txt挂进容器并修改 compose 的command即可。注意密码在文件中和 HTTP 传输中都是明文这一层只解决谁来用不解决怎么传得安全公网场景必须再叠一层 HTTPS。反向代理加 HTTPS 的公网访问配置用 Nginx 终结 TLS把流量转给本机 7860server { listen 443 ssl; server_name translate.example.com; ssl_certificate /etc/nginx/cert.pem; ssl_certificate_key /etc/nginx/key.pem; client_max_body_size 200m; location / { proxy_pass http://127.0.0.1:7860; } }server_name与证书路径按实际域名替换client_max_body_size决定能上传多大的 PDF。防火墙只放行 80/443不再暴露 7860ufw allow 443/tcp公网开放意味着服务对互联网全量可见账号密码见上一节与 HTTPS 两项缺一不可对敏感团队还可以再加 IP 白名单。长期稳定运行可选调整清单以下都不是必做项按实际遇到的问题取用完整说明见 docs/ADVANCED.md调整项做法何时用换翻译引擎页面下拉框直接切换或启动时-s deepl并提前export DEEPL_AUTH_KEY...默认 Google 服务不稳定或想换供应商调并发-t 8默认 4大文档翻译排队久自定义提示词--prompt prompt.txt团队术语、语气需要统一跳过字体子集化--skip-subset-fonts个别 PDF 输出字体渲染异常健康检查cron 里执行curl -sf http://127.0.0.1:7860/ || docker restart pdf2zh无人值守长期运行配合docker stats观察容器 CPU 与内存占用翻译高峰时若资源紧张优先降-t而不是加机器。出问题如何自查先跑一遍可用性检查 ⚠️先做一轮基础检查排除服务本身挂了这类最常见情况docker ps # 容器是否还在运行 curl -I http://127.0.0.1:7860 # 端口是否响应 docker logs --tail 50 pdf2zh # 最近的报错 df -h . # 磁盘是否写满再对照症状定位症状常见原因处理本机通、局域网不通防火墙未放行 7860ufw allow 7860/tcp并确认进程监听的是 0.0.0.0 而非 127.0.0.1公网页面能开点翻译没反应Gradio 依赖 WebSocketNginx 未透传升级头在location内补proxy_set_header Upgrade $connection_upgrade等两行上传大 PDF 报 413client_max_body_size过小调大该值后nginx -s reload翻译报网络错误或超时所选翻译服务网络不稳或额度耗尽换一个服务重试重复内容可依赖内置缓存避免重复请求--share临时链接突然失效Gradio 分享链接有效期约 72 小时团队场景固定使用端口或反向代理不依赖 share 链接收尾把服务接进团队工作流服务跑稳后下一步建议给每个成员发放独立账号--authorized并把提交 PDF → 取回译文固化进团队的文献处理流程。若后续需要程序化批量翻译或对接其他工具参考 docs/APIS.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),仅供参考