最近我们开源了一个 PDF 处理工具 - pdf-craft,专注于解决扫描书籍 PDF 转换的痛点,让书籍数字化更智能。pdf-craft 支持将 PDF 转为 Markdown 和 EPUB ,智能处理文本、图表、公式等内容,适用于技术文档、书籍数字化、论文研究等场景。
PDF 转 Markdown
PDF 转 EPUB
技术亮点
项目基于 Python 开发,可通过 pip 安装:
pip install pdf-craft
核心使用方法示例:
# PDF 转 Markdown (纯本地处理)
from pdf_craft import PDFPageExtractor, MarkDownWriter
extractor = PDFPageExtractor(
device="cuda:0", # GPU 加速
model_dir_path="/path/to/model/dir/path",
)
with MarkDownWriter(markdown_path, "images", "utf-8") as md:
for block in extractor.extract(pdf="/path/to/pdf/file"):
md.write(block)
对于更复杂的 EPUB 转换,可以接入 LLM:
from pdf_craft import LLM, analyse, generate_epub_file
# 配置 LLM
llm = LLM(
key="sk-XXXXX",
base_url="https://api.deepseek.com",
model="deepseek-chat",
token_encoding="o200k_base",
)
# 分析 PDF
analyse(
llm=llm,
pdf_page_extractor=extractor,
pdf_path="/path/to/pdf/file",
analysing_dir_path="/path/to/temp",
output_dir_path="/path/to/output",
)
# 生成 EPUB
generate_epub_file(
from_dir_path="/path/to/output",
epub_file_path="/path/to/book.epub",
)
想快速尝试 pdf-craft 而不想折腾环境配置?我们提供了更简单的方式: 使用 OOMOL Studio 一键体验:pdf-craft for OOMOL studio
OOMOL Studio 是我们开发的工作流 IDE ,内置了隔离的运行环境,无需复杂配置,即可立即体验 pdf-craft 的全部功能。 关于 OOMOL Studio 可以查看之前的介绍: 一款全新的工作流 IDE。
当然,pdf-craft 仍然完全开源,你依然可以按照上述方法在自己的环境中配置使用。
项目刚刚起步,我们非常欢迎各位 V 友参与:
如果觉得不错,欢迎给项目点个 star ⭐,有什么想法也可以在评论区交流,或者提交 PR 一起完善这个工具。
你也可以通过 https://oomol.com/community/ 找到我们。
![]() |
1
simple233 1 天前
牛的,那么快又有新东西了
|
![]() |
2
uCharles 1 天前
好厉害
|
![]() |
3
chjian 1 天前
大佬厉害
|
![]() |
4
regent 1 天前
对于爱看书的人是一个福音,谢谢!
|
![]() |
5
jimrok 1 天前
感觉现在正处在寒武纪大爆发阶段,各种新应用层出不穷。
|
![]() |
6
kitty7030 1 天前
可以增加个功能 再转化为 pdf
|
![]() |
8
b821025551b 1 天前
@moskize pdf 的兼容性更好,随便拖到浏览器就能看;这个过程就是将扫描版 pdf 转成矢量版 pdf ,提升清晰度,缩小文件体积。
|
9
timeisweapon 1 天前
对于普通个人用户来说,还是在线转换工具方便
|
![]() |
10
yibie 1 天前
能接 Ollama 吗?
|
![]() |
11
yazoox 1 天前 via Android
这个是真的牛逼!
|
![]() |
12
docx 1 天前 via iPhone
分栏的 PDF 能完美解析吗
|
![]() |
15
sunnysab 1 天前
flowhub 中点击 Open By OMMOL Studio 没有反应(似乎只是刷新了当前页面)。
分析了《聪明在于勤奋,天才在于积累》(华罗庚)一书,第 4 页的分数( 22/7 )没有识别成公式,整本书识别得不错,比当时导入微信读书时识别得强。 |
16
jhytxy 1 天前 via iPhone
求 docker 镜像
|
![]() |
17
shenjinpeng 1 天前
微软貌似也有个 markitdown 专门转 PDF 的, 貌似没有 orc
|
![]() |
18
ayang23 1 天前
效果貌似不错
|
![]() |
19
EngAPI 1 天前
不错啊,造福墨水屏
|
20
bfdh 1 天前
model_dir_path="/path/to/model/dir/path",
新手求问,这个应该从哪里下? |
![]() |
24
zero469 1 天前
非常好的 idea ,太牛逼了
|
![]() |
25
zero469 1 天前
不知道作者有没有尝试过 7B 或 32B 的 LLM ,如果效果也 OK 的话连带模型做一个纯本地的方案感觉更有吸引力
|
![]() |
26
Dreamerwwr 1 天前
在哪里配置 LLM 的 API 呢?打开后,没看到配置的位置
|
![]() |
27
KiriGiri 1 天前
厉害,做了我想做的。
|
28
ration 1 天前
喜欢在电纸书上看书,这个真不错,谢谢
|
29
cyp0633 1 天前
好用,不过现在 LLM 主要是用来纠正文字吧,我觉得可以用 Gemini 等多模态 LLM 一块儿识别公式,转换成 LaTeX 格式
|
![]() |
31
hinate 1 天前 via Android
太强了👍🏻
|
![]() |
32
cooper 1 天前
这个好,已 star !
|
33
manning 1 天前
mathpix 上付费的 PDF 转 markdown ,这个能代替吗
|
34
3085570450tt 1 天前
跟 PyMuPDF 比起来怎么样呢?同时 PyMuPDF 也有 LLM 的支持 https://pymupdf.readthedocs.io/en/latest/pymupdf4llm/
|
![]() |
35
moskize 1 天前
@3085570450tt 看介绍它们好像是为 LLM 提取文本,而不是用 LLM 处理文本。而且 PyMuPDF 我记得是不提供 OCR 的。
|
![]() |
37
Yien 1 天前 via Android
厉害(òωó)👍
|
![]() |
38
luyg 1 天前
厉害,我要试试
|
![]() |
39
akira 1 天前
先给个 star 后面有空了 试一下
|
![]() |
40
oyjt 1 天前
大佬,厉害呀。先 star 了为敬
|
41
yueyueniao89 21 小时 6 分钟前
先马克,pdf 转 epub
|
![]() |
42
x4gz 17 小时 39 分钟前
这个带多线程吗 不然有的几百页的书转起来也太慢了
|