ARTICLE DETAIL

资讯详情

深耕网站SEO优化与搜索引擎排名提升的一线实战洞察。

pdf-inspector完全解析:Rust构建的极速PDF智能检测与文本提取库

pdf-inspector完全解析:Rust构建的极速PDF智能检测与文本提取库 pdf-inspector完全解析Rust构建的极速PDF智能检测与文本提取库【免费下载链接】pdf-inspectorFast Rust library for PDF inspection, classification, and text extraction. Intelligently detects scanned vs text-based PDFs to enable smart routing decisions.项目地址: https://gitcode.com/GitHub_Trending/pdf/pdf-inspectorpdf-inspector是一款基于Rust构建的高性能PDF智能检测与文本提取库能够快速识别PDF类型文本型、扫描型、混合型或图像型并提取结构化文本无需依赖OCR技术。该库专为处理文本型PDF设计可在200毫秒内完成本地处理帮助用户跳过对约54%无需OCR的PDF文件的昂贵OCR服务显著提升处理效率。 核心功能与优势智能PDF分类pdf-inspector能够在10-50毫秒内完成PDF类型检测通过采样内容流中的文本操作符Tj/TJ无需加载完整文档即可判断PDF类型并返回置信度分数0.0-1.0和每页是否需要OCR的路由建议。支持四种检测模式EarlyExit默认扫描所有页面遇到第一个非文本页面时停止适用于将文本型PDF路由至快速提取的管道。Sample(n)均匀采样n个页面首页、末页、中间页适用于对速度要求高于精度的大型PDF。高效文本提取与Markdown转换该库不仅能提取文本还能将PDF内容转换为结构清晰的Markdown格式支持标题、列表、代码块、粗体/斜体、URL链接等元素。其双模式表格检测功能基于PDF绘图操作的矩形检测和基于文本对齐的启发式检测能够处理财务表格、脚注和跨页续表等复杂场景。轻量级与高性能作为纯Rust库pdf-inspector不依赖任何机器学习模型或外部服务仅使用lopdf作为PDF解析的唯一依赖确保了轻量级和高性能。在opendataloader-bench语料库200个PDF上的测试显示该库在阅读顺序和表格提取方面得分较高同时具有最快的完整运行速度。⚡ 性能表现在Apple M4 Pro上的基准测试中pdf-inspector表现出色检测速度约10-50毫秒完成PDF类型分类。提取速度处理文本型PDF的中位数时间远低于其他本地引擎如LiteParse、OpenDataLoader、PyMuPDF4LLM和MarkItDown。具体测试结果可参考项目README中的详细基准数据原始计时和工件可在results branch中查看。 安装指南Python通过PyPI安装pip install pdf-inspector如需从源码构建需先安装maturinpip install maturinNode.js通过npm安装npm install firecrawl/pdf-inspector预构建的二进制文件适用于Linux x64、macOS ARM64和Windows x64平台npm会自动安装匹配当前平台的版本无需Rust工具链。Rust通过cargo安装cargo install pdf-inspectorWebAssembly安装WebAssembly版本npm install firecrawl/pdf-inspector-wasm构建WebAssembly包需先安装wasm-packcargo install wasm-pack --version 0.15.0 --locked 使用示例基本使用PythonBasic usage examples for pdf-inspector Python library. import sys from pdf_inspector import process_pdf def main(): if len(sys.argv) ! 2: print(Usage: python basic_usage.py path-to-pdf) sys.exit(1) pdf_path sys.argv[1] result process_pdf(pdf_path) print(fPDF Type: {result.pdf_type}) print(fMarkdown Content:\n{result.markdown}) if __name__ __main__: main()命令行工具pdf-inspector提供了两个命令行工具pdf2md将PDF转换为Markdown支持--json输出结构化数据。detect-pdf分类PDF类型支持--analyze --json获取详细分析结果。示例# 转换PDF为Markdown pdf2md input.pdf -o output.md # 检测PDF类型 detect-pdf input.pdf --analyzeNode.js APIconst { classifyPdf, processPdf } require(firecrawl/pdf-inspector); const fs require(fs); // 分类PDF const pdfBytes fs.readFileSync(input.pdf); classifyPdf(pdfBytes).then(result { console.log(PDF Type:, result.pdfType); console.log(Pages Needing OCR:, result.pagesNeedingOcr); }); // 处理PDF并提取Markdown processPdf(pdfBytes).then(result { console.log(Markdown Content:, result.markdown); });️ 高级功能区域文本提取pdf-inspector支持在指定边界框区域内提取文本适用于混合OCR管道其中布局模型检测渲染页面图像中的区域而该函数为文本型页面从PDF结构中提取文本从而跳过GPU OCR。示例Node.jsconst { extractTextInRegions } require(firecrawl/pdf-inspector); const regions [ [0, 0, 300, 400], // [x1, y1, x2, y2] in PDF points, top-left origin [300, 0, 600, 400] ]; extractTextInRegions(pdfBytes, regions).then(results { results.forEach((region, index) { console.log(Region ${index 1} Text:, region.text); }); });表格提取该库能够从PDF中提取表格数据并转换为Markdown表格格式。支持从矩形、线条和启发式检测表格处理复杂的表格布局。调试与日志可通过设置RUST_LOG环境变量来启用调试日志详细信息请参考docs/debugging.md。 文档与资源官方文档项目提供了详细的文档包括基准测试、调试指南、Python API和Rust API等。示例代码可在examples/目录下找到基本使用示例。测试用例项目包含丰富的集成测试测试文件位于tests/目录。 项目结构pdf-inspector的源代码组织结构清晰主要模块包括提取器extractor处理PDF内容流、字体、布局等位于src/extractor/。Markdown转换将提取的文本转换为Markdown格式位于src/markdown/。表格检测实现表格检测和提取功能位于src/tables/。类型定义定义PDF处理相关的数据结构位于src/types.rs。 贡献与支持pdf-inspector是一个开源项目欢迎社区贡献代码、报告问题或提出建议。项目地址为https://gitcode.com/GitHub_Trending/pdf/pdf-inspector。如需商业支持或有特定需求可联系项目维护团队。 总结pdf-inspector是一款功能强大、性能卓越的PDF处理库通过智能分类和高效文本提取为处理大量PDF文件的应用提供了理想的解决方案。无论是需要快速提取文本、转换为Markdown还是智能路由OCR任务pdf-inspector都能满足需求是处理文本型PDF的首选工具。【免费下载链接】pdf-inspectorFast Rust library for PDF inspection, classification, and text extraction. Intelligently detects scanned vs text-based PDFs to enable smart routing decisions.项目地址: https://gitcode.com/GitHub_Trending/pdf/pdf-inspector创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表