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:使用 PDFBox 的文本位置从文本型 PDF 中提取数据。
- LatticeParser:通过将页面渲染为图像,并使用 OpenCV 检测线条和网格,处理扫描或带网格线的 PDF。
- OcrStreamParser:使用 Tesseract OCR 从无文本层的图像密集型文档中提取文本。
- HybridParser:协调这些策略,自动为文档选择最佳方法。
适用人群
专为构建生产级文档处理流水线的开发者设计,特别适用于金融科技、银行平台、分析平台以及 AI/ML 数据准备工作流。
特色亮点
- 原生 OCR 支持:无需外部文本层即可处理扫描和图像型 PDF。
- 原生 Java:基于 Java 17+ 构建,可通过 Maven Central 获取。
- 灵活输出:支持将提取的表格导出为 CSV 或 JSON 格式。
- 声明式配置:提供基于注解的配置方式,用于定义解析器设置。
- 部署就绪:包含 Spring Boot 微服务封装和 Docker 支持,便于 API 部署。
相关
- 项目
- 项目
- 项目
- 项目
- 项目