news 2026/4/16 15:35:55

PolyglotPDF:多语言PDF处理与翻译工具全面指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PolyglotPDF:多语言PDF处理与翻译工具全面指南

PolyglotPDF:多语言PDF处理与翻译工具全面指南

【免费下载链接】PolyglotPDF(PDF translation)Multilingual PDF processing tool, supports online and offline translation while maintaining original layout; performs OCR on scanned PDFs, faster than ocrmypdf. Provides a Web UI for comparing original PDFs, includes chat with PDF functionality, and academic PDF search based on the Semantic Scholar API.项目地址: https://gitcode.com/gh_mirrors/po/PolyglotPDF

PolyglotPDF是一款先进的多语言PDF处理工具,采用专门技术实现PDF文档中文本、表格和公式的超快速识别。该工具具备OCR能力和保持原始布局的翻译功能,通常处理时间在1秒内完成,完整文档翻译通常在10秒内完成。

核心特性

  • 超快速识别:在约1秒内处理PDF中的文本、表格和公式
  • 保持布局的翻译:翻译内容时保持原始文档格式
  • OCR支持:高效处理扫描文档
  • 基于文本的PDF处理:无需GPU支持
  • 快速翻译:完整PDF翻译约10秒完成
  • 灵活的API集成:兼容多种翻译服务提供商
  • 基于Web的比较界面:并排比较原始文档和翻译文档
  • 增强的OCR能力:提高文本识别和处理的准确性
  • 支持离线翻译:使用较小的翻译模型

安装与配置

标准安装方式

  1. 克隆仓库:
git clone https://gitcode.com/gh_mirrors/po/PolyglotPDF.git cd PolyglotPDF
  1. 安装所需包:
pip install -r requirements.txt
  1. 在config.json中配置您的API密钥。不推荐使用阿里云翻译API。

  2. 运行应用程序:

python app.py
  1. 访问Web界面: 打开浏览器并导航到http://127.0.0.1:8000

Docker安装方式

快速启动(无持久化存储)

如果您想快速测试PolyglotPDF而不设置持久化目录:

# 首先拉取镜像 docker pull 2207397265/polyglotpdf:latest # 运行容器但不挂载卷(容器移除时数据将丢失) docker run -d -p 12226:12226 --name polyglotpdf 2207397265/polyglotpdf:latest

这是尝试PolyglotPDF的最快方式,但所有上传的PDF和配置更改将在容器停止时丢失。

持久化存储安装
# 创建必要目录 mkdir -p config fonts static/original static/target static/merged_pdf # 创建配置文件 nano config/config.json # 或使用任何文本编辑器 # 将项目中的配置模板复制到此文件中 # 确保填写您的API密钥和其他配置详细信息 # 设置权限 chmod -R 755 config fonts static
快速启动

使用以下命令拉取并运行PolyglotPDF Docker镜像:

# 拉取镜像 docker pull 2207397265/polyglotpdf:latest # 运行容器 docker run -d -p 12226:12226 --name polyglotpdf \ -v ./config/config.json:/app/config.json \ -v ./fonts:/app/fonts \ -v ./static/original:/app/static/original \ -v ./static/target:/app/static/target \ -v ./static/merged_pdf:/app/static/merged_pdf \ 2207397265/polyglotpdf:latest
访问应用程序

容器启动后,在浏览器中打开:

http://localhost:12226

使用Docker Compose

创建docker-compose.yml文件:

version: '3' services: polyglotpdf: image: 2207397265/polyglotpdf:latest ports: - "12226:12226" volumes: - ./config.json:/app/config.json # 配置文件 - ./fonts:/app/fonts # 字体文件 - ./static/original:/app/static/original # 原始PDF - ./static/target:/app/static/target # 翻译后的PDF - ./static/merged_pdf:/app/static/merged_pdf # 合并的PDF restart: unless-stopped

然后运行:

docker-compose up -d

常用Docker命令

# 停止容器 docker stop polyglotpdf # 重启容器 docker restart polyglotpdf # 查看日志 docker logs polyglotpdf

性能优势

PolyglotPDF在处理基于文本的PDF文档时具有显著性能优势。根据测试数据,其处理速度相比其他工具快6倍,提供闪电般的处理体验。

功能界面展示

系统要求

  • Python 3.8+
  • deepl==1.17.0
  • Flask==2.0.1
  • Flask-Cors==5.0.0
  • Pillow==10.2.0
  • PyMuPDF==1.24.0
  • pytesseract==0.3.10
  • requests==2.31.0
  • tiktoken==0.6.0
  • Werkzeug==2.0.1

技术原理

该项目遵循与Adobe Acrobat DC的PDF编辑类似的基本原理,使用PyMuPDF进行文本块识别和操作:

核心处理流程

# 从页面获取文本块 blocks = page.get_text("dict")["blocks"] # 处理每个文本块 for block in blocks: if block.get("type") == 0: # 文本块 bbox = block["bbox"] # 获取文本块边界 text = "" font_info = None # 收集文本和字体信息 for line in block["lines"]: for span in line["spans"]: text += span["text"] + " "

这种方法直接处理PDF文本块,在保持原始布局的同时实现高效的文本提取和修改。

未来改进计划

  • PDF聊天功能
  • 学术PDF搜索集成
  • 更快的处理速度优化

已知问题

  • 问题描述:文本重新编辑期间出错:code=4: only Gray, RGB, and CMYK colorspaces supported
  • 症状:在文本块编辑期间遇到不支持的颜色空间
  • 当前解决方法:跳过具有不支持颜色空间的文本块
  • 建议解决方案:对包含不支持颜色空间的整个页面切换到OCR模式

待办事项

  • 自定义术语库:支持带有提示的自定义术语库,用于领域特定的专业翻译
  • AI重排功能:将双列PDF转换为单列HTML博客格式,便于在移动设备上阅读
  • 多格式导出:将翻译结果导出为PDF、HTML、Markdown和其他格式
  • 多设备同步:在桌面上处理后,在移动设备上阅读翻译
  • 增强的合并逻辑:通过禁用字体名称检测并启用水平、垂直、x、y范围重叠合并来改进当前的合并逻辑

字体优化

当前在main.pystart函数中的字体配置:

# 当前配置 css=f"* {{font-family:{get_font_by_language(self.target_language)};font-size:auto;color: #111111 ;font-weight:normal;}}"

您可以通过以下方法优化字体显示:

  1. 修改默认字体配置
# 自定义字体样式 css=f"""* {{ font-family: {get_font_by_language(self.target_language)}; font-size: auto; color: #111111; font-weight: normal; letter-spacing: 0.5px; # 调整字母间距 line-height: 1.5; # 调整行高 }}"""
  1. 嵌入自定义字体您可以通过以下步骤嵌入自定义字体:
  • 将字体文件(.ttf, .otf)放在项目的fonts目录中
  • 在CSS中使用@font-face声明自定义字体
css=f""" @font-face {{ font-family: 'CustomFont'; src: url('fonts/your-font.ttf') format('truetype'); }} * {{ font-family: 'CustomFont', {get_font_by_language(self.target_language)}; font-size: auto; font-weight: normal; }} """

PolyglotPDF为多语言PDF处理提供了高效、可靠的解决方案,适用于各种商业和学术应用场景。

【免费下载链接】PolyglotPDF(PDF translation)Multilingual PDF processing tool, supports online and offline translation while maintaining original layout; performs OCR on scanned PDFs, faster than ocrmypdf. Provides a Web UI for comparing original PDFs, includes chat with PDF functionality, and academic PDF search based on the Semantic Scholar API.项目地址: https://gitcode.com/gh_mirrors/po/PolyglotPDF

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 19:53:48

MaaYuan游戏自动化助手完整使用指南

MaaYuan游戏自动化助手完整使用指南 【免费下载链接】MaaYuan 代号鸢 / 如鸢 一键长草小助手 项目地址: https://gitcode.com/gh_mirrors/ma/MaaYuan MaaYuan是一款专为代号鸢和如鸢游戏设计的智能脚本工具,通过先进的图像识别技术实现全自动游戏任务处理。这…

作者头像 李华
网站建设 2026/4/16 10:59:44

TRL可视化技术深度解析:颠覆性训练监控革命

TRL可视化技术深度解析:颠覆性训练监控革命 【免费下载链接】trl 项目地址: https://gitcode.com/gh_mirrors/trl/trl 你是否曾经在训练大型语言模型时感到困惑?面对复杂的损失曲线和性能指标,如何才能真正理解模型的优化过程&#x…

作者头像 李华
网站建设 2026/4/16 9:04:49

DataEase智能数据驾驶舱:3步从零构建企业级数据决策平台

DataEase智能数据驾驶舱:3步从零构建企业级数据决策平台 【免费下载链接】dataease DataEase: 是一个开源的数据可视化分析工具,支持多种数据源以及丰富的图表类型。适合数据分析师和数据科学家快速创建数据可视化报表。 项目地址: https://gitcode.co…

作者头像 李华
网站建设 2026/4/16 9:01:28

使用ChromeDriver模拟用户操作测试Web UI

ms-swift:大模型与多模态工程化的统一基础设施 在当今AI技术飞速演进的背景下,企业面临的已不再是“有没有模型可用”,而是“如何高效、稳定地将大模型落地到真实业务场景中”。从电商客服中的图文问答,到医疗领域的报告生成&…

作者头像 李华
网站建设 2026/4/15 13:09:02

终极图片裁剪指南:用Cropper.js轻松实现专业级图像处理

终极图片裁剪指南:用Cropper.js轻松实现专业级图像处理 【免费下载链接】cropperjs JavaScript image cropper. 项目地址: https://gitcode.com/gh_mirrors/cr/cropperjs 还在为网页中的图片裁剪功能而烦恼吗?🤔 无论是制作精美的用户…

作者头像 李华
网站建设 2026/4/16 11:10:19

I2C高速模式时序关键参数对比分析

I2C高速模式时序设计:从参数解析到实战调优你有没有遇到过这样的场景?系统里明明接的是支持3.4 Mbps的IMU传感器,可实际通信速率卡在几百kbps,偶尔还丢包。示波器一抓波形——SCL高电平只有50 ns,远低于规范要求。这正…

作者头像 李华