大家好,欢迎来到IT知识分享网。
这里是Aideas,每日分享AI相关资讯。本文由Aideas Agent整理并推荐。项目地址:/funstory-ai/BabelDOC, 程序语言:Python, 收藏: 623, 分支: 37, 今日收藏: 81 stars today。

简介
BabelDOC是PDF科学论文翻译和双语对比库。BabelDOC通过一个标准化的管道和接口来解决问题。实际上,PDF解析器或翻译器有两个主要阶段:
- 解析:解析阶段意味着获取PDF的结构,例如文本块、图像、表格等。
- 渲染:渲染阶段意味着将结构渲染为新的PDF或其他格式。
BabelDOC提供解析器的中间表示,并可以渲染为新的PDF或其他格式。该管道也是一个基于插件的系统,任何人都可以添加他们的新模型、OCR、渲染器等。
BabelDOC
- 在线服务:1000页免费。
- 自我部署:实验性支持自我部署 + WebUI,提供更多翻译服务。
- 提供简单的命令行界面。
- 提供Python API。
- 主要设计为嵌入到其他程序中,但也可以直接用于简单的翻译任务。
优势
精准双语对照,原汁原味呈现
采用智能版面分析技术,精确识别文档结构与段落布局。译文与原文智能对齐,在阅读时可以即时对照,大幅提升阅读效率和理解准确度。

智能公式文本混排
采用公式识别技术,完美处理数学公式与文本的复杂混排场景。公式内容原样保留,文本部分智能翻译,确保学术文献的专业性和准确性。

原生样式完美呈现
采用先进的样式映射技术,完整保留原文档的字体、颜色、间距等设计元素。支持标点悬挂、自适应缩放等专业排版特性,确保翻译后的文档依然保持原有的精致美感。

复杂排版智能处理
采用深度学习布局分析技术,从容应对多栏布局、表格、列表等复杂排版形式。无论文档结构如何繁复,都能精准识别并优化翻译,完美还原原有版式布局。

开始使用
从PyPI安装
uv tool install --python 3.12 BabelDOC babeldoc --help
开始翻译:
babeldoc --bing --files example.pdf # 多个文件 babeldoc --bing --files example1.pdf --files example2.pdf
从源代码安装
- 使用以下命令安装:
# 克隆项目 git clone :funstory-ai/BabelDOC.git # 进入项目目录 cd BabelDOC # 安装依赖并运行babeldoc uv run babeldoc --help
- 使用uv run babeldoc命令。例如:
uv run babeldoc --files example.pdf --openai --openai-model "gpt-4o-mini" --openai-base-url "" --openai-api-key "your-api-key-here" # 多个文件 uv run babeldoc --files example.pdf --files example2.pdf --openai --openai-model "gpt-4o-mini" --openai-base-url "" --openai-api-key "your-api-key-here"
语言选项
- –lang-in, -li:源语言代码(默认:en)
- –lang-out, -lo:目标语言代码(默认:zh)
PDF处理选项
- –files:一个或多个输入PDF文档的文件路径。
- –pages, -p:指定要翻译的页面(例如,“1,2,1-,-3,3-5”)。如果未设置,则翻译所有页面。
- –split-short-lines:强制将短行拆分为不同段落(可能导致排版不良和错误)。
- –short-line-split-factor:拆分阈值因子(默认:0.8)。实际阈值是当前页面上所有行的中位长度 * 此因子。
- –skip-clean:跳过PDF清理步骤。
- –dual-translate-first:在双PDF模式下将翻译页面放在前面(默认:原始页面在前)。
- –disable-rich-text-translate:禁用富文本翻译(可能有助于提高与某些PDF的兼容性)。
- –enhance-compatibility:启用所有兼容性增强选项(相当于 –skip-clean –dual-translate-first –disable-rich-text-translate)。
- –use-alternating-pages-dual:在双PDF中使用交替页面模式。当启用时,原始和翻译页面按交替顺序排列;禁用时(默认),原始和翻译页面在同一页面上并排显示。
- –watermark-output-mode:控制水印输出模式:’watermarked’(默认)将水印添加到翻译后的PDF中,’no_watermark’不添加水印,’both’输出两个版本。
- –max-pages-per-part:每个部分的最大页数。如果未设置,则不会执行拆分。
- –translate-table-text:翻译表格文本(实验性,默认:False)。
- –skip-scanned-detection:跳过扫描文档检测(默认:False)。在使用拆分翻译时,如果未跳过,则仅第一部分执行检测。
翻译服务选项
- –qps:翻译服务的QPS(每秒查询数)限制(默认:4)。
- –ignore-cache:忽略翻译缓存并强制重新翻译。
- –no-dual:不输出双语PDF文件。
- –no-mono:不输出单语PDF文件。
- –min-text-length:翻译的最小文本长度(默认:5)。
- –openai:使用OpenAI进行翻译(默认:False)。
OpenAI特定选项
- –openai-model:要使用的OpenAI模型(默认:gpt-4o-mini)。
- –openai-base-url:OpenAI API的基本URL。支持本地模型如Ollama
- –openai-api-key:OpenAI服务的API密钥。
输出控制
- –output, -o:翻译文件的输出目录。如果未设置,则使用当前工作目录。
- –debug, -d:启用调试日志级别,并在~/.cache/yadt/working中导出详细的中间结果。
- –report-interval:进度报告间隔(默认:0.1秒)。
离线资产管理
- –generate-offline-assets:在指定目录中生成离线资产包。这将创建一个包含所有所需模型和字体的zip文件。
- –restore-offline-assets:从指定文件恢复离线资产包。这将从先前生成的包中提取模型和字体。
配置文件
- –config, -c:配置文件路径。使用TOML格式。
示例配置:
[babeldoc] # 基本设置 debug = true lang-in = "en-US" lang-out = "zh-CN" qps = 10 output = "/path/to/output/dir" # PDF处理选项 split-short-lines = false short-line-split-factor = 0.8 skip-clean = false dual-translate-first = false disable-rich-text-translate = false use-alternating-pages-dual = false watermark-output-mode = "watermarked" # 选项:"watermarked", "no_watermark", "both" max-pages-per-part = 50 # 自动拆分文档进行翻译并合并回去。 skip-scanned-detection = false # 跳过扫描文档检测以加快处理速度 # 翻译服务 openai = true openai-model = "gpt-4o-mini" openai-base-url = "" openai-api-key = "your-api-key-here" # 输出控制 no-dual = false no-mono = false min-text-length = 5 report-interval = 0.5 # 离线资产管理 # 根据需要取消注释其中一个选项: # generate-offline-assets = "/path/to/output/dir" # restore-offline-assets = "/path/to/offline_assets_package.zip"
Python API
from pathlib import Path import babeldoc.assets.assets babeldoc.assets.assets.generate_offline_assets_package(Path("/path/to/output/dir")) babeldoc.assets.assets.restore_offline_assets_package(Path("/path/to/offline_assets_package.zip")) babeldoc.assets.assets.restore_offline_assets_package(Path("/path/to/directory"))
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/182733.html