PDF-Extract-Kit:高质量 PDF 内容提取综合工具包
PDF-Extract-Kit是一款高效的工具包,专注于从PDF中提取高质量内容,支持布局检测、公式识别、表格识别等功能。

介绍
PDF-Extract-Kit:高质量 PDF 内容提取综合工具包
大家好,今天我们来聊聊一个非常实用的工具——PDF-Extract-Kit。你有没有遇到过需要从PDF中提取内容,但却发现这是一项不简单的任务?PDF-Extract-Kit就是为了解决这个问题而生的。它是一个综合性的工具包,专注于从PDF中提取高质量的内容,包括布局检测、公式识别、表格识别等功能。
功能介绍
PDF-Extract-Kit将PDF内容提取任务分解为多个组件:
- 布局检测:使用LayoutLMv3模型进行区域检测,识别出图片、表格、标题、文本等。
- 公式检测:采用YOLOv8模型来检测公式,包括行内公式和独立公式。
- 公式识别:使用UniMERNet进行公式识别。
- 表格识别:通过StructEqTable进行表格识别。
- 光学字符识别(OCR):使用PaddleOCR进行文本识别。
由于文档类型的多样性,现有的开源布局和公式检测模型在处理多样化的PDF文档时常常力不从心。因此,PDF-Extract-Kit收集了多样化的数据进行标注和训练,以实现对各种类型文档的精确检测。
安装指南
如果你想在Linux系统上安装PDF-Extract-Kit,可以按照以下步骤进行:
- 创建一个新的conda环境并安装Python 3.10:bash
conda create -n pipeline python=3.10 - 安装所需的Python包:bash
pip install -r requirements.txt - 安装Detectron2:bash
pip install https://github.com/opendatalab/PDF-Extract-Kit/raw/main/assets/whl/detectron2-0.6-cp310-cp310-linux_x86_64.whl
安装完成后,如果遇到torch无法调用的问题,可以先卸载相关库,然后重新安装cuda12和cudnn。
使用方法
在安装完成后,你可以通过以下命令运行PDF-Extract-Kit:
bash
python pdf_extract.py --pdf assets/examples/example.pdf
参数说明:
--pdf:要处理的PDF文件;如果传递的是文件夹,则会处理文件夹中的所有PDF文件。--output:结果保存路径,默认为"output"。--vis:是否可视化结果;如果是,将可视化检测结果,包括边界框和类别。--render:是否渲染识别结果,包括公式的LaTeX代码和纯文本,这些将被渲染并放置在检测框中。注意:此过程非常耗时,还需要预先安装xelatex和imagemagic。--batch-size:数据加载器的批量大小。建议使用较大的批量大小,但较小的大小需要更少的GPU内存。默认为128。
未来计划
PDF-Extract-Kit还在不断完善中,未来计划包括:
- 表格解析:开发将表格图像转换为相应的LaTeX/Markdown格式源代码的功能。
- 化学方程式检测:实现化学方程式的自动检测。
- 化学方程式/图表识别:开发识别和解析化学方程式和图表的模型。
- 阅读顺序排序模型:构建一个模型来确定文档中文本的正确阅读顺序。
在我看来,PDF-Extract-Kit是一个功能强大的工具,尤其适合需要从复杂PDF文档中提取内容的用户。它的多样化功能和高效的识别能力让我印象深刻。如果你也有这方面的需求,不妨试试这个工具包。