科学工具
科学工具让世界更美好
让世界更美好

PDF-Craft:AI扫描书籍PDF转Markdown/EPUB工具,智能处理页眉跨页PDF-Craft:AI扫描书籍PDF转Markdown/EPUB工具,智能处理页眉跨页

PDF Craft 是一个能够将PDF文件转换为多种其他格式功能,能处理扫描书籍的PDF文件。

PDF Craft 可以逐页读取PDF文件,使用 DocLayout-YOLO 结合自定义算法提取书籍页面中的文本,过滤掉页眉、页脚、脚注和页码等元素,在处理跨页问题时,算法会正确处理前后页之间的连接,最终生成语义连贯的文本,书籍页面使用 OnnxOCR 进行文本识别,通过 layoutreader 确定符合人类习惯的阅读顺序。

功能

1、多源数据整合

支持Markdown、HTML、扫描图像等多种输入格式,通过统一接口转换为标准化中间层数据结构,能避免重复解析原始文件,提升处理效率。

2、智能布局引擎

PDF Craft采用动态排版算法,根据内容类型自动调整PDF页面布局,复杂表格的重排准确率达92%,较传统方案提升18%。

3、跨平台兼容性

PDF Craft核心模块基于Java/Python混合架构开发,提供命令行工具与REST API两种调用方式。可在Windows/Linux环境稳定运行,内存占用低于同类工具30%。

应用场景

企业报告自动化:集成数据库接口,实时生成带动态图表的多语言业务报告

学术文档处理:自动提取论文图表并生成符合期刊格式的附录文件

档案数字化:批量处理扫描件,实现OCR识别与元数据嵌入

安装使用

# 克隆仓库
git clone https://github.com/oomol-lab/pdf-craft.git
cd pdf-craft

# 安装依赖
pip install -r requirements.txt

# 生成示例PDF
python src/main.py --input sample.md --output report.pdf

该命令将Markdown文件转换为具备目录导航的PDF文档,默认启用智能分页与自适应页眉设置。

开发指南

开发者可通过插件机制扩展功能:

1、继承BaseProcessor类实现自定义处理逻辑

2、在config/processors.yml注册新模块

3、使用@pipeline装饰器定义处理流水线

示例代码实现图像压缩插件:

from core.processors import BaseProcessor

class ImageOptimizer(BaseProcessor):
    def execute(self, context):
        for img in context.images:
            if img.dpi > 300:
                img.resize(scale=0.5)
        return context

性能优化

内存管理:采用分块加载技术处理超大文件(>500MB)

并行计算:利用多核CPU加速批量任务处理

缓存机制:对重复访问元素建立LRU缓存池