pdf-craft:PDF秒转Markdown/EPUB!接入DeepSeek轻松生成电子书,自动整理目录、注释和引文

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: pdf-craft是一款专注于处理扫描书籍PDF的开源工具,能精准提取正文内容并转换为Markdown/EPUB格式,通过AI算法解决跨页连贯性问题,是学术研究和电子书制作的利器。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


📚 「别让扫描PDF毁青春!开源AI把文献转换变成填空题」

大家好,我是蚝油菜花。这些学术民工の至暗时刻你是否熟悉——

  • 👉 下载的扫描PDF转Word后,页脚编码把参考文献切成俄罗斯方块
  • 👉 整理古籍电子版时,跨页诗句被强行拆成「床前明月光,疑是地上霜」两段
  • 👉 导师给的纸质书扫描件,转EPUB后目录层级比迷宫还复杂...

今天要解救文献狗的 pdf-craft ,正在重写PDF转换规则!这把AI手术刀:

  • ✅ 「智能去杂质」:页眉/脚注/水印自动过滤,比人眼识别还精准
  • ✅ 跨页粘合术:YOLO算法识别文本流,杜绝「段落腰斩」惨案
  • ✅ 电子书生成器:LLM自动构建目录树,引文标注比原书更清晰

已有研究生用它1小时处理完300页古籍,出版社靠它批量转制EPUB——你的文献处理流水线,是时候注射「AI格式强心剂」了!

🚀 快速阅读

pdf-craft是一款专注于处理扫描书籍的PDF转换工具。

  1. 核心功能:支持PDF转Markdown/EPUB格式,自动过滤页眉页脚,保持跨页内容连贯性
  2. 技术原理:结合DocLayout-YOLO布局分析和PaddleOCR文本识别,通过layoutreader优化阅读顺序

pdf-craft 是什么

pdf-craft-demo

pdf-craft 是一款开源的PDF格式转换工具,专注于处理扫描书籍类PDF文件。它能智能提取正文内容,自动过滤页眉、页脚、脚注等干扰元素,输出结构清晰的Markdown或EPUB格式文件。

该工具特别解决了扫描文档转换中的两大痛点:跨页内容断裂和版式混乱问题。通过AI算法自动判断文本逻辑关系,确保生成的文档语义连贯,大幅提升扫描资料的数字化效率。

pdf-craft 的主要功能

  • PDF 转 Markdown:精准提取正文内容并保留原文档结构,将插图、表格和公式以截图形式嵌入,生成可直接编辑的Markdown文件

pdf-craft-pdf2md-en

  • PDF 转 EPUB:通过大语言模型智能构建书籍目录结构,自动整理注释和引文,输出适配电子书阅读器的标准EPUB格式

pdf-craft-pdf2epub-en

pdf-craft 的技术原理

  • 页面布局分析:基于DocLayout-YOLO算法识别文本块、图片等元素的位置边界,通过自定义算法优化布局解析精度
  • 文本识别:采用PaddleOCR高性能OCR引擎,准确识别扫描文档中的文字内容
  • 跨页处理:通过算法自动判断文本块间的逻辑关联,确保跨页内容的自然衔接
  • 阅读顺序优化:利用layoutreader确定符合人类阅读习惯的文本块顺序

如何运行 pdf-craft

下面将详细介绍如何安装 pdf-craft,以及如何使用其主要功能(如将 PDF 转换为 Markdown 和 EPUB 格式)。

介绍

  • 本地运行:对于小规模的论文或书籍,可以完全在本地完成 PDF 转 Markdown 的转换。
  • 接入 LLM:对于超过 100 页的书籍,推荐使用 LLM(如 DeepSeek)生成带有目录和章节的 EPUB 文件。

安装

需要 Python 3.10 或更高版本(推荐 3.10.16)。

pip install pdf-craft

使用 CUDA 加速

如果需要使用 GPU 加速,请确保设备已准备好 CUDA 环境。可以参考PyTorch的安装指南,根据操作系统选择合适的命令。

功能示例

将 PDF 转换为 Markdown

此操作无需调用远程 LLM,完全依赖本地计算资源(CPU 或 GPU)。首次调用时,模型会自动从网络下载。

from pdf_craft import PDFPageExtractor, MarkDownWriter

# 创建 PDF 提取器对象
extractor = PDFPageExtractor(
    device="cpu",  # 如果使用 GPU,请改为 device="cuda:0"
    model_dir_path="/path/to/model/dir/path"  # 模型下载和存储路径
)

# 创建 Markdown 写入器对象
with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    for block in extractor.extract(pdf="/path/to/pdf/file"):
        md.write(block)

代码解释

  1. PDFPageExtractor:负责从 PDF 文件中提取内容。device 参数指定是否使用 GPU,model_dir_path 指定模型存储路径。
  2. MarkDownWriter:将提取的内容写入 Markdown 文件。如果 PDF 包含插图、表格或公式,会将其截图保存到 assets 目录,并在 Markdown 文件中引用。

运行完成后,指定路径下将生成一个 *.md 文件。如果有插图,会生成一个 assets 目录保存图片。

将 PDF 转换为 EPUB

此操作分为两部分:首先使用 OCR 扫描和识别 PDF 内容(与 Markdown 转换类似),然后再通过 LLM 生成 EPUB 文件:

第一步:创建 PDF 提取器对象

from pdf_craft import PDFPageExtractor

extractor = PDFPageExtractor(
    device="cpu",  # 如果使用 GPU,请改为 device="cuda:0"
    model_dir_path="/path/to/model/dir/path"  # 模型下载和存储路径
)

第二步:配置 LLM 对象

from pdf_craft import LLM

llm = LLM(
    key="sk-XXXXX",  # LLM 提供商的 API 密钥
    url="https://api.deepseek.com",  # LLM 提供商的 API 地址
    model="deepseek-chat",  # LLM 提供商的模型名称
    token_encoding="o200k_base"  # 用于估算 token 的本地模型名称
)

第三步:分析 PDF 文件

from pdf_craft import analyse

analyse(
    llm=llm,  # 第二步配置的 LLM 对象
    pdf_page_extractor=extractor,  # 第一步创建的 PDFPageExtractor 对象
    pdf_path="/path/to/pdf/file",  # PDF 文件路径
    analysing_dir_path="/path/to/analysing/dir",  # 分析中间状态存储目录
    output_dir_path="/path/to/output/files"  # 分析结果存储目录
)

第四步:生成 EPUB 文件

from pdf_craft import generate_epub_file

generate_epub_file(
    from_dir_path=output_dir_path,  # 上一步生成的分析结果目录
    epub_file_path="/path/to/output/epub"  # 生成的 EPUB 文件保存路径
)

代码解释

  1. analyse 函数会扫描和分析 PDF 文件,生成中间状态和最终结果。analysing_dir_path 用于存储中间状态,方便在意外中断后恢复分析。
  2. generate_epub_file 函数会根据分析结果生成 EPUB 文件,并按照书本结构划分章节,同时处理注释和引用。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

相关文章
|
3月前
|
人工智能 文字识别 自然语言处理
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
Vision Parse 是一款开源的 PDF 转 Markdown 工具,基于视觉语言模型,能够智能识别和提取 PDF 中的文本和表格,并保持原有格式和结构。
497 19
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
|
4月前
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
模型训练数据-MinerU一款Pdf转Markdown软件
MinerU是由上海人工智能实验室OpenDataLab团队开发的开源智能数据提取工具,专长于复杂PDF文档的高效解析与提取。它能够将含有图片、公式、表格等多模态内容的PDF文档转化为Markdown格式,同时支持从网页和电子书中提取内容,显著提升了AI语料准备的效率。MinerU具备高精度的PDF模型解析工具链,能自动识别乱码,保留文档结构,并将公式转换为LaTeX格式,广泛适用于学术、财务、法律等领域。
552 4
|
9月前
|
JavaScript Java
Java 将Markdown文件转换为Word和PDF文档
【7月更文挑战第5天】Java中使用`Spire.Doc for Java`库可方便地将Markdown转换为Word或PDF。基本步骤包括导入模块,创建`Document`对象,加载Markdown文件,然后保存为目标格式(`.docx`或`.pdf`)。若遇到`Invalid UTF-8 stream`错误,需确保Markdown文件是UTF-8无BOM编码。页面设置可通过`PageSetup`类调整。注意,实际应用会依据具体需求和环境有所调整。
732 6
|
10月前
|
JSON API 开发工具
|
9月前
|
Unix Linux Shell
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
|
10月前
|
机器学习/深度学习 自然语言处理 PyTorch
|
11月前
分享:批量多目录图片如何转换PDF,一次性转换多级目录批量的PDF的转换,合并,输出另存等问题,图片转PDF文件,批量图片转PDF文件,多级目录的图片转PDF文件,并且保存到不同的地方,全部搞定
本文介绍了如何高效地将图片转换为PDF,包括单张、多张及多级目录下的图片转换和合并。提供了软件下载链接(百度网盘、腾讯云盘),软件操作简便,支持保存原目录或自定义新目录。转换选项包括单个文件、多个文件夹单独转换以及合并转换。用户可通过双击路径访问源图片和转换结果。该工具特别解决了多级目录图片批量转换的难题,实现保存地址的自由设定,满足不同业务需求。
685 0
|
1月前
|
前端开发 Docker 容器
写作利器,一款极简的Markdown 编辑器
WeChat Markdown Editor 是一款高度简洁的微信 Markdown 编辑器:支持 Markdown 语法、色盘取色、多图上传、一键下载文档、自定义 CSS 样式、一键重置等特性。
192 70
写作利器,一款极简的Markdown 编辑器
|
6月前
|
Ubuntu Linux 测试技术
Linux系统之部署轻量级Markdown文本编辑器
【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器
324 1
Linux系统之部署轻量级Markdown文本编辑器

热门文章

最新文章

下一篇
oss创建bucket