综合介绍
PDF Craft 是一个开源工具,专为扫描书籍的PDF设计,能将其转换为Markdown格式。它由 oomol-lab 开发,托管在 GitHub 上,适合喜欢整理电子书的用户。工具通过本地AI模型运行,无需联网,既保护隐私又方便操作。它能提取扫描文档中的正文,去掉页眉页脚等杂项,生成干净的Markdown文件,特别适合整理旧书或研究资料。
功能列表
- 将扫描书籍PDF转换为Markdown格式,支持本地处理。
- 提取正文内容,自动过滤页眉、页脚和页码。
- 处理跨页文本,保持句子连贯。
- 支持插图和表格截图,嵌入Markdown文件。
- 使用AI分析页面布局,按阅读顺序整理文本。
- 可扩展为EPUB格式,生成电子书文件。
使用帮助
PDF Craft 专注于扫描书籍PDF转Markdown。下面是详细的安装和使用步骤,帮你快速上手。
安装流程
- 准备环境
你需要一台电脑,安装Python 3.8或以上版本。确保硬盘有足够空间存放AI模型。 - 下载代码
打开终端,输入命令克隆项目:
git clone https://github.com/oomol-lab/pdf-craft.git
然后进入目录:
cd pdf-craft
- 安装依赖
输入以下命令安装所需库:
pip install -r requirements.txt
如果有GPU,可以加装CUDA支持:
pip install torch --extra-index-url https://download.pytorch.org/whl/cu117
- 获取模型
首次运行时,工具会自动下载AI模型(如DocLayout-YOLO)。保持网络畅通,模型会存到<model_dir_path>
(可在代码中设置)。
操作流程
转换为Markdown
- 准备PDF
把扫描的书籍PDF放在一个文件夹,比如/path/to/pdf/book.pdf
。 - 运行转换
在终端输入以下代码:
from pdf_craft import PDFPageExtractor, MarkDownWriter
extractor = PDFPageExtractor(device="cpu", model_dir_path="/path/to/model/dir/path")
with MarkDownWriter(markdown_path="/path/to/output.md", image_dir="images", encoding="utf-8") as md:
for block in extractor.extract(pdf="/path/to/pdf/book.pdf"):
md.write(block)
device="cpu"
:用CPU运行。支持GPU的改为device="cuda:0"
。markdown_path
:输出Markdown文件路径。image_dir
:插图保存目录。
- 查看结果
完成后,打开/path/to/output.md
检查内容。插图会自动保存到images
文件夹。
特色功能操作
- 正文提取
工具会识别扫描页面,剔除页眉页脚,只保留正文。你无需手动清理杂项。 - 跨页处理
如果句子被分页截断,PDF Craft 会自动连接,确保文本流畅。 - 插图嵌入
扫描书籍中的图片或表格会被截图,嵌入Markdown。你可以在images
文件夹找到它们。
小贴士
- PDF扫描质量要清晰,否则识别可能出错。
- 首次运行会下载模型,之后离线即可使用。
- 如果速度慢,试试GPU加速或减少页面数。
应用场景
- 整理旧书
你有扫描的旧书PDF,想转成Markdown编辑。PDF Craft 能去掉杂乱内容,生成干净文件。 - 研究资料转换
学者需要把扫描论文转成Markdown记笔记。工具能保留正文和插图,方便引用。 - 电子书制作
你想把扫描PDF变成可编辑的Markdown文档。PDF Craft 提供简单方案。
QA
- 只支持扫描PDF吗?
主要是优化扫描书籍PDF。普通文字PDF也能用,但效果可能不如扫描文件。 - 转换后图片怎么处理?
图片会截图保存到指定文件夹,Markdown里自动嵌入链接。 - 为什么首次运行慢?
因为要下载AI模型。之后会变快。