ExtractPDF4J/ExtractPDF4J
Java PDF table extraction & OCR library. Extract structured tables from text-based and scanned PDFs using stream, lattice (OpenCV-style grid detection), and hybrid parsing.
解决的问题
ExtractPDF4J 消除了从无文本层的 PDF 表格中手动重新输入数据的需求,尤其适用于扫描的发票、银行对账单和财务报告等文档。它提供了一种程序化方式,从文本型和图像密集型 PDF 中提取干净的行和列。
工作原理
该库采用多策略方法来识别和提取表格数据:
- StreamParser:使用 Apache PDFBox 通过文本坐标从文本型 PDF 中提取数据。
- LatticeParser:使用 OpenCV 检测扫描或图像型 PDF 中的线条和网格,以构建表格结构。
- OcrStreamParser:使用 Tesseract OCR 读取不存在文本层的文档中的文本。
- HybridParser:协调这些策略,根据文档特性自动选择或合并最佳方法。
适用人群
此工具专为构建生产级文档处理流水线的开发者设计,特别适用于金融科技、银行平台、分析平台、企业数据摄取工作流,以及为 AI/ML 流水线准备数据的场景。
主要亮点
- 原生 Java 支持:基于 Java 17+ 构建,可通过 Maven Central 获取。
- OCR 集成:内置对使用 Tesseract 和 OpenCV 的扫描 PDF 的支持。
- 灵活解析:提供多种模式(流式、网格、OCR 混合),以应对不同类型的 PDF。
- 部署选项:包含 CLI 用于快速提取,以及 Spring Boot 微服务用于通过 Docker 进行 REST 集成。
- 声明式配置:支持基于注解的配置,用于定义解析器设置。
相关
- 项目
- 项目
- 项目
- 项目
- 项目