|
在日常工作中,我们经常需要处理PDF文档,特别是扫描版的书籍或文献。今天有发现一个强大的开源工具 PDF-Craft,它能够智能地将PDF文件转换为Markdown或EPUB格式,并且具有智能识别章节、注释和引用的能力。 工具特性- 使用DocLayout-YOLO结合自定义算法提取文本
 环境要求- Python 3.10或以上版本(推荐3.10.16)
实践步骤1. 基础安装pip install pdf-craft
2. PDF转Markdown实践这是最基础的功能,不需要调用远程LLM服务,完全依靠本地计算能力即可完成。第一次调用时会联网下载所需的模型。遇到文档中的插图、表格、公式,会直接截图插入到 MarkDown 文件中。 frompdf_craftimportPDFPageExtractor, MarkDownWriter
# 初始化提取器 extractor = PDFPageExtractor( device="cpu", # 使用GPU时改为 "cuda:0" model_dir_path="/path/to/model/dir/path"# AI模型存放目录 )
# 开始转换 withMarkDownWriter(markdown_path,"images","utf-8")asmd: forblockinextractor.extract(pdf="/path/to/pdf/file"): md.write(block)
 3. PDF转EPUB高级实践这个功能更为强大,需要配合LLM服务使用。 步骤1:配置PDF提取器frompdf_craftimportPDFPageExtractor
extractor = PDFPageExtractor( device="cpu", # 使用GPU时改为 "cuda:0" model_dir_path="/path/to/model/dir/path" )
步骤2:配置LLM服务frompdf_craftimportLLM
llm = LLM( key="sk-XXXXX", # LLM供应商提供的密钥 url="https://api.deepseek.com", # LLM API地址 model="deepseek-chat", # 模型名称 token_encoding="o200k_base" )
步骤3:执行PDF分析frompdf_craftimportanalyse
analyse( llm=llm, pdf_page_extractor=pdf_page_extractor, pdf_path="/path/to/pdf/file", analysing_dir_path="/path/to/analysing/dir", output_dir_path="/path/to/output/files" )
步骤4:生成EPUB文件frompdf_craftimportgenerate_epub_file
generate_epub_file( from_dir_path=output_dir_path, epub_file_path="/path/to/output/epub" )
 运维注意事项
|