轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
pdf-document-layout-analysis

huridocs/pdf-document-layout-analysis

huridocs

HURIDOCS的pdf-document-layout-analysis是一个基于Docker的智能PDF文档布局分析微服务,支持OCR识别、内容提取、元素分类(文本、标题、表格等)、阅读顺序确定及多格式转换(Markdown/HTML)。

7 次收藏下载次数: 0状态:社区镜像维护者:huridocs仓库类型:镜像最近更新:1 个月前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,快一点,稳很多。
点击查看

PDF文档布局分析

一个基于Docker的微服务,用于智能PDF文档布局分析、OCR识别和内容提取

!Python Version !FastAPI !Docker !GPU Support

由❤️ HURIDOCS 构建

https://github.com/huridocs/pdf-document-layout-analysis • https://hub.docker.com/r/huridocs/pdf-document-layout-analysis • https://huggingface.co/HURIDOCS/pdf-document-layout-analysis


🚀 概述

本项目提供了一个强大且灵活的PDF分析微服务,基于整洁架构(Clean Architecture)原则构建。该服务支持PDF页面不同部分的OCR识别、分割和分类,可识别文本、标题、图片、表格、公式等元素,并确定这些元素的正确阅读顺序,还能将PDF转换为Markdown、HTML等多种格式。

✨ 核心功能

  • 🔍 高级PDF布局分析 - 高精度分割和分类PDF内容
  • 🖼️ 视觉与快速模型 - 可选择VGT(视觉网格Transformer)模型追求精度,或LightGBM模型追求速度
  • 📝 多格式输出 - 支持导出为JSON、Markdown、HTML,并可可视化PDF分割结果
  • 🌐 OCR支持 - 通过Tesseract OCR支持150+种语言
  • 📊 表格与公式提取 - 将表格提取为HTML,公式提取为LaTeX
  • 🏗️ 整洁架构 - 模块化、可测试且易维护的代码库
  • 🐳 Docker就绪 - 易于部署,支持GPU加速
  • ⚡ RESTful API - 全面的API,包含10+个端点

快速开始

运行服务:

  • 带GPU支持:
bash
docker run --rm --name pdf-document-layout-analysis --gpus '"device=0"' -p 5060:5060 --entrypoint ./start.sh huridocs/pdf-document-layout-analysis:v0.0.31
  • 无GPU支持:
bash
docker run --rm --name pdf-document-layout-analysis -p 5060:5060 --entrypoint ./start.sh huridocs/pdf-document-layout-analysis:v0.0.31

📝 服务还支持翻译功能,但需从源代码安装。请查看GitHub页面获取说明。

从PDF获取分割结果:

bash
curl -X POST -F 'file=@/PATH/TO/PDF/pdf_name.pdf' localhost:5060

停止服务:

bash
docker stop pdf-document-layout-analysis

💡 提示:将/path/to/your/document.pdf替换为实际PDF文件路径。服务将返回包含分割内容和元数据的JSON响应。

📋 目录

  • 🚀 快速开始
  • ⚙️ 依赖项
  • 📋 要求
  • 📚 API参考
  • 💡 使用示例
  • 🏗️ 架构
  • 🤖 模型
  • 📊 数据
  • 📈 基准测试
    • 性能
    • 速度
  • 🌐 OCR更多语言安装
  • 🔗 相关服务
  • 🤝 贡献指南

⚙️ 依赖项

必需

  • Docker Desktop 4.25.0+ - 安装指南
  • Python 3.10+(用于本地开发)

可选

  • NVIDIA Container Toolkit - https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html%EF%BC%88%E7%94%A8%E4%BA%8EGPU%E6%94%AF%E6%8C%81%EF%BC%89

📋 要求

系统要求

  • 内存:至少2 GB
  • GPU内存:5 GB(可选,若无GPU将自动回退到CPU)
  • 磁盘空间:10 GB(用于模型和依赖项)
  • CPU:推荐多核以获得更好性能

Docker要求

  • Docker Engine 20.10+
  • Docker Compose 2.0+

📚 API参考

服务提供全面的RESTful API,包含以下端点:

核心分析端点

端点方法描述参数
/POST分析PDF布局并提取分割内容file、fast、ocr_tables
/save_xml/{filename}POST分析PDF并保存XML输出file、xml_file_name、fast
/get_xml/{filename}GET检索已保存的XML分析结果xml_file_name

内容提取端点

端点方法描述参数
/textPOST按内容类型提取文本file、fast、types
/tocPOST提取目录file、fast
/toc_legacy_uwazi_compatiblePOST提取目录(兼容Uwazi)file

格式转换端点

端点方法描述参数
/markdownPOST将PDF转换为Markdown(zip中包含分割数据)file、fast、extract_toc、dpi、output_file
/htmlPOST将PDF转换为HTML(zip中包含分割数据)file、fast、extract_toc、dpi、output_file
/visualizePOST可视化PDF上的分割结果file、fast

OCR和工具端点

端点方法描述参数
/ocrPOST对PDF应用OCRfile、language
/infoGET获取服务信息-
/GET健康检查和系统信息-
/errorGET测试错误处理-

通用参数

  • file:要处理的PDF文件(multipart/form-data格式)
  • fast:使用LightGBM模型而非VGT(布尔值,默认:false)
  • ocr_tables:对表格区域应用OCR(布尔值,默认:false)
  • language:OCR语言代码(字符串,默认:"en")
  • types:要提取的内容类型,用逗号分隔(字符串,默认:"all")
  • extract_toc:在输出开头包含目录(布尔值,默认:false)
  • dpi:转换的图像分辨率(整数,默认:120)

💡 使用示例

基本PDF分析

使用VGT模型的标准分析:

bash
curl -X POST \
  -F 'file=@document.pdf' \
  http://localhost:5060

使用LightGBM模型的快速分析:

bash
curl -X POST \
  -F 'file=@document.pdf' \
  -F 'fast=true' \
  http://localhost:5060

带表格OCR的分析:

bash
curl -X POST \
  -F 'file=@document.pdf' \
  -F 'ocr_tables=true' \
  http://localhost:5060

文本提取

提取所有文本:

bash
curl -X POST \
  -F 'file=@document.pdf' \
  -F 'types=all' \
  http://localhost:5060/text

提取特定内容类型:

bash
curl -X POST \
  -F 'file=@document.pdf' \
  -F 'types=title,text,table' \
  http://localhost:5060/text

格式转换

转换为Markdown:

bash
curl -X POST http://localhost:5060/markdown \
  -F 'file=@document.pdf' \
  -F 'extract_toc=true' \
  -F 'output_file=document.md' \
  --output 'document.zip'

转换为HTML:

bash
curl -X POST http://localhost:5060/html \
  -F 'file=@document.pdf' \
  -F 'extract_toc=true' \
  -F 'output_file=document.html' \
  --output 'document.zip'

📋 分割数据:格式转换端点会在zip输出中自动包含详细的分割数据。生成的zip文件包含{filename}_segmentation.json文件,其中包含每个检测到的文档段的信息,包括:

  • 坐标:left、top、width、height
  • 页面信息:page_number、page_width、page_height
  • 内容:text内容和段type(例如:"Title"、"Text"、"Table"、"Picture")

OCR处理

英文OCR:

bash
curl -X POST \
  -F 'file=@scanned_document.pdf' \
  -F 'language=en' \
  http://localhost:5060/ocr \
  --output ocr_processed.pdf

其他语言OCR:

bash
# 法语
curl -X POST \
  -F 'file=@document_french.pdf' \
  -F 'language=fr' \
  http://localhost:5060/ocr \
  --output ocr_french.pdf

# 西班牙语
curl -X POST \
  -F 'file=@document_spanish.pdf' \
  -F 'language=es' \
  http://localhost:5060/ocr \
  --output ocr_spanish.pdf

可视化

生成可视化PDF:

bash
curl -X POST \
  -F 'file=@document.pdf' \
  http://localhost:5060/visualize \
  --output visualization.pdf

目录提取

提取结构化目录:

bash
curl -X POST \
  -F 'file=@document.pdf' \
  http://localhost:5060/toc

XML存储和检索

分析并保存XML:

bash
curl -X POST \
  -F 'file=@document.pdf' \
  http://localhost:5060/save_xml/my_analysis

检索已保存的XML:

bash
curl http://localhost:5060/get_xml/my_analysis.xml

服务信息

获取服务信息和支持的语言:

bash
curl http://localhost:5060/info

健康检查:

bash
curl http://localhost:5060/

响应格式

大多数端点返回包含分割信息的JSON:

json
[
  {
    "left": 72.0,
    "top": 84.0,
    "width": 451.2,
    "height": 23.04,
    "page_number": 1,
    "page_width": 595.32,
    "page_height": 841.92,
    "text": "文档标题",
    "type": "Title"
  },
  {
    "left": 72.0,
    "top": 120.0,
    "width": 451.2,
    "height": 200.0,
    "page_number": 1,
    "page_width": 595.32,
    "page_height": 841.92,
    "text": "这是主要文本内容...",
    "type": "Text"
  }
]

支持的内容类型

  • Caption - 图片和表格标题
  • Footnote - 脚注文本
  • Formula - 数学公式
  • List item - 列表项和项目符号
  • Page footer - 页脚内容
  • Page header - 页眉内容
  • Picture - 图片和图表
  • Section header - 章节标题
  • Table - 表格内容
  • Text - 常规文本段落
  • Title - 文档和章节标题

🏗️ 架构

本项目遵循整洁架构原则,确保关注点分离、可测试性和可维护性。代码库分为不同的层:

目录结构

src/
├── domain/                 # 企业业务规则
│   ├── PdfImages.py       # PDF图像处理领域逻辑
│   ├── PdfSegment.py      # PDF分割实体
│   ├── Prediction.py      # 机器学习预测实体
│   └── SegmentBox.py      # 核心分割框实体
├── use_cases/             # 应用业务规则
│   ├── pdf_analysis/      # PDF分析用例
│   ├── text_extraction/   # 文本提取用例
│   ├── toc_extraction/    # 目录提取用例
│   ├── visualization/     # PDF可视化工用例
│   ├── ocr/              # OCR处理用例
│   ├── markdown_conversion/ # Markdown转换用例
│   └── html_conversion/   # HTML转换用例
├── adapters/              # 接口适配器
│   ├── infrastructure/    # 外部服务适配器
│   ├── ml/               # 机器学习模型适配器
│   ├── storage/          # 文件存储适配器
│   └── web/              # Web框架适配器
├── ports/                 # 接口定义
│   ├── services/         # 服务接口
│   └── repositories/     # 仓库接口
└── drivers/              # 框架和驱动
    └── web/              # FastAPI应用设置

层职责

  • 领域层:包含核心业务实体和规则,独立于外部关注点
  • 用例层:编排领域实体以满足特定的应用需求
  • 适配器层:实现内层定义的接口,并适配外部框架
  • 驱动层:包含框架、数据库和外部代理配置

主要优势

  • 🔄 依赖倒置:高层模块不依赖低层模块
  • 🧪 可测试性:易于隔离测试业务逻辑
  • 🔧 可维护性:外部框架的更改不影响业务规则
  • 📈 可扩展性:添加新功能无需修改现有代码

🤖 模型

服务提供两种互补的模型方法,每种方法针对不同的用例进行了优化:

1. 视觉网格Transformer(VGT)- 高精度模型

概述:由阿里巴巴研究团队开发的最先进视觉模型,能够"看到"整个页面布局。

核心特性:

  • 🎯 高精度:文档布局分析的最佳性能
  • 👁️ 视觉理解:分析整个页面上下文,包括空间关系
  • 📊 基于DocLayNet训练:使用全面的https://github.com/DS4SD/DocLayNet
  • 🔬 研究支持:基于https://github.com/AlibabaResearch/AdvancedLiterateMachinery

资源要求:

  • GPU:5GB+显存(推荐)
  • CPU:若无GPU,将自动回退到CPU
  • 处理速度:1.75秒/页(GPU [GTX 1070])或13.5秒/页(CPU [i7-8700])

2. LightGBM模型 - 快速高效

概述:轻量级集成的两个专用模型,使用Poppler的基于XML的特征。

核心特性:

  • ⚡ 高速:CPU上~0.42秒/页(i7-8700)
  • 💾 低资源使用:仅需CPU,内存占用小
  • 🔄 双模型方法:
    • 令牌类型分类器:识别内容类型(标题、文本、表格等)
    • 分割模型:确定正确的内容边界
  • 📄 基于XML:使用Poppler的PDF到XML转换提取特征

权衡:

  • 精度略低于VGT
  • 无视觉上下文理解

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 pdf-document-layout-analysis 镜像标签

docker pull docker.xuanyuan.run/huridocs/pdf-document-layout-analysis:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull huridocs/pdf-document-layout-analysis:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
huridocs/pdf-document-layout-analysis
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
商务合作:点击复制邮箱
用户协议·隐私政策·©2024-2026 源码跳动
用户协议·隐私政策©2024-2026 杭州源码跳动科技有限公司商务合作:点击复制邮箱

更多 pdf-document-layout-analysis 镜像推荐

onlyoffice/documentserver logo

onlyoffice/documentserver

ONLYOFFICE 在线办公套件
功能丰富的基于Web的办公套件,具备广泛的协作功能。
435 次收藏5000万+ 次下载
1 个月前更新
onlyoffice/documentserver-ee logo

onlyoffice/documentserver-ee

ONLYOFFICE 在线办公套件
暂无描述
4 次收藏100万+ 次下载
17 天前更新
onlyoffice/documentserver-de logo

onlyoffice/documentserver-de

ONLYOFFICE 在线办公套件
ONLYOFFICE Developer Edition是面向开发者的办公协作解决方案开发工具包,提供丰富的API与SDK,支持将文档编辑(含文本文档、电子表格、演示文稿)、实时在线协作、版本管理及权限控制等核心功能无缝集成至企业自有应用或服务中,允许开发者根据业务需求自定义界面、扩展功能模块,并支持多平台部署与数据安全保障,助力快速构建定制化办公协作系统。
7 次收藏100万+ 次下载
17 天前更新
onlyoffice/documentserver-ie logo

onlyoffice/documentserver-ie

ONLYOFFICE 在线办公套件
ONLYOFFICE Document Server是一款在线办公套件,包含文本、电子表格和演示文稿的查看器与编辑器,完全兼容Office Open XML格式(.docx、.xlsx、.pptx),支持实时协作编辑。
6 次收藏10万+ 次下载
5 年前更新
intel/document-summary logo

intel/document-summary

intel
文档摘要示例应用展示如何利用LlamaIndex框架(构建大型语言模型应用的强大工具)从长文档生成简洁且信息丰富的摘要。
2.9千+ 次下载
5 天前更新
AWS Documentation logo

mcp/aws-documentation

mcp(Model Context Protocol)
用于访问AWS文档、搜索内容和获取推荐的工具。
2 次收藏10万+ 次下载
1 个月前更新

查看更多 pdf-document-layout-analysis 相关镜像