夜雨聆风学习资料网

ARTICLE · 1304893

扫描版PDF转可编辑Markdown/EPUB,这款免费开源OCR工具太实用

扫描版PDF转可编辑Markdown/EPUB,这款免费开源OCR工具太实用

电脑里有几本扫描过的旧书,想看的时候才发现都是摆设:要摘一段话就得一个字一个字敲出来,手机上打开又要放大缩小,找不到从哪里接着往下看。真正的问题并不是文件打不开,而是文件里面的文字不能用——不能复制、不能搜索、不能随着屏幕换行。

DF Craft 这个开源工具就是把扫描页上的文字识别出来,整理成可以编辑的文档或者可以跟着屏幕重新排版的电子书。

项目是什么

PDF Craft 是一个可以用来扫描书籍、论文和技术文档的开源软件。用OCR识别图片中的文字,再对正文、目录、脚注、表格和插图进行处理,并导出为Markdown或者EPUB。前者可以修改,后者适合阅读器。也可以不安装,有在线入口。

图1 中文页面可以上传 PDF 或 EPUB 文件,一个文件一次。图中为上传入口,并非转换完成页。

能做什么

手头有一大堆扫描资料,可以转换为Markdown格式,把文字和图片整理到笔记里;想要读完整本书的话,可以转换成EPUB格式,让文字随着屏幕排版。

外语资料也可以继续处理:转换的时候进行翻译,或者直接把已经转换好的 EPUB 文件输出成纯译文或者双语版本。双语会把译文放在原文后面,便于对照。已经有的 EPUB 也不需要再做图片识字了。

快速上手

只处理一份文件,可以从仓库首页进入在线版,上传之后选择输出格式。本地识别路线为:准备好Python 3.11-3.13、Poppler(读取PDF的工具)、英伟达显卡以及对应的CUDA版本的PyTorch(使模型使用显卡)。把convert.py保存到同一个文件夹里,并且把input.pdf也放进去;第一次运行的时候会下载模型。

python -m pip install "pdf-craft[local]"
from pdf_craft import DeepSeekOCRLocalConfig, PDFCraft, PDFOptionscraft = PDFCraft(pdf=PDFOptions(    ocr=DeepSeekOCRLocalConfig(models_cache_path="models")))craft.convert_pdf_to_markdown(    "input.pdf", "output.md",    assets_path="images",    extraction_path="book.pcex",)# 需要电子书时,将上面的转换调用换成:# craft.convert_pdf_to_epub("input.pdf", "output.epub", label_language="zh")
python convert.py

实测展示

旧书里的话以及插图可以保留吗?

对照组Markdown。左边是带有纸张底色的扫描页,上面的文字粗细不一,中间还有装置示意图。右边已经整理好了标题、自然段和插图,图前面后面的说明仍然在阅读顺序中。它所做的是把字抄出来之后再做一步。

图2 该书的转换对照图。右边保留了中文段落以及装置插图,图中的旧书内容只用来说明识别和排版的效果。

对整理资料的人而言,这样的改变是实实在在的。文字还可以继续校对、摘录,插图也不需要重新截取。移动生成的Markdown的时候要把图片目录一起带走,不然笔记里图片就找不到了。

注意代码中出现的两个地方:images 用来存放图片,book.pcex 保存提取的结果。后者的功能就是把已经识别过的材料打包保存起来,以后换输出格式或者继续翻译的时候可以重复使用,避免重复识别。

带脚注的书,换成电子书会怎样?

另外一组EPUB对照中,左边书页正文下方有几条小字注释,右边变成阅读器里双页排版,正文中还可以看到注释标记。阅读单位由“一张纸”变成了“一段文字”,不用再按照扫描页的边框往下移动了。

图3 另一个书籍样例的EPUB效果,正文中的注释标记也被保留了下来。双页、底色、字号都是由阅读器来决定的。原文夹带的外文引文也全部保留下来了。

这张图片可以显示正文和注释标记的显示情况,但是不能看出每条脚注是否可以正确跳转。自己看书的时候,要试着打开注释,再查一查跨页段落、标题以及插图的位置,不能只看首页排得整齐不整齐。

原稿模糊不清、页面歪斜、小字密布都会影响结果。可以先挑出有正文、插图、脚注的几页来查看,然后再决定是否对整本书进行处理。技术资料要核对公式、表格,不能让一个数字出错,跟着进了笔记。

最后说两句

PDF Craft 的用途很实际,可以把存放在硬盘上的扫描书籍变成可以摘录、整理并且更容易阅读的内容。

转换之后还要核对文字,特别是数字、公式和脚注。但是可以节省很多时间去敲打书页来写字,这也是值得一试的。手上有一份没有整理好的旧资料,可以先挑几页看看有没有用。

仓库地址

https://github.com/oomol-lab/pdf-craft

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料