在日常工作中,我们经常需要处理PDF文档,特别是扫描版的书籍或文献。今天有发现一个强大的开源工具 PDF-Craft,它能够智能地将PDF文件转换为Markdown或EPUB格式,并且具有智能识别章节、注释和引用的能力。
pip install pdf-craft
这是最基础的功能,不需要调用远程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)
这个功能更为强大,需要配合LLM服务使用。
frompdf_craftimportPDFPageExtractor
extractor = PDFPageExtractor(
device="cpu", # 使用GPU时改为 "cuda:0"
model_dir_path="/path/to/model/dir/path"
)
frompdf_craftimportLLM
llm = LLM(
key="sk-XXXXX", # LLM供应商提供的密钥
url="https://api.deepseek.com", # LLM API地址
model="deepseek-chat", # 模型名称
token_encoding="o200k_base"
)
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"
)
frompdf_craftimportgenerate_epub_file
generate_epub_file(
from_dir_path=output_dir_path,
epub_file_path="/path/to/output/epub"
)
analysing_dir_path目录实现断点续传PDF-Craft是一个功能强大的PDF处理工具,特别适合处理扫描版书籍的转换工作。通过合理配置和使用,可以极大提高文档处理效率。建议在实际部署时,根据具体需求和硬件条件选择合适的功能模块。
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |