PyMuPDF4LLM#
PyMuPDF4LLM 旨在使提取 PDF 内容以满足您的 LLM 和 RAG 环境需要变得更容易。它支持 Markdown 提取 和 LlamaIndex 文档输出。
重要
您可以扩展支持的文件类型,以包括Office文档格式(DOC/DOCX、XLS/XLSX、PPT/PPTX、HWP/HWPX),通过 使用 PyMuPDF Pro 与 PyMuPDF4LLM。
特征#
对多列页面的支持
支持图像和矢量图形的提取(以及在MD文本中包含引用)
支持页面分块输出。
直接支持以 LlamaIndex Documents 作为输出。
功能#
该软件包使用 PyMuPDF 将文件的页面转换为 Markdown 格式的文本。
标准文本和表格被检测到,按照正确的阅读顺序引入,然后一起转换为 GitHub -兼容的 Markdown 文本。
标题行通过字体大小进行识别,并适当地使用一个或多个
#标签进行前缀。粗体、斜体、等宽文本和代码块被检测并相应格式化。类似的规则适用于有序和无序列表。
默认情况下,所有文档页面都会被处理。如果需要,可以通过提供一个基于
0的页面编号列表来指定页面的子集。
安装#
通过 pip 安装该包:
pip install pymupdf4llm
将文件提取为 Markdown#
要以Markdown格式检索您的文档内容,只需安装该软件包,然后使用几行Python代码即可获得结果。
然后在你的 Python 脚本中这样做:
import pymupdf4llm
md_text = pymupdf4llm.to_markdown("input.pdf")
注意
可以提供一个PyMuPDF Document,而不是上面的文件名字符串。第二个参数可以是一个基于0的页面编号列表,例如[0,1]将仅选择文档的第一页和第二页。
如果您想存储您的 Markdown 文件,例如以 UTF8 编码的文件存储,您可以执行:
import pathlib
pathlib.Path("output.md").write_bytes(md_text.encode())
作为LlamaIndex文档提取文件#
PyMuPDF4LLM 支持直接转换为 LLamaIndex 文档。文档首先转换为 Markdown 格式,然后返回一个 LlamaIndex 文档,具体如下:
import pymupdf4llm
llama_reader = pymupdf4llm.LlamaMarkdownReader()
llama_docs = llama_reader.load_data("input.pdf")
与 PyMuPDF Pro 一起使用#
对于Office文档支持,PyMuPDF4LLM与PyMuPDF Pro无缝协作。假设您已安装PyMuPDF Pro,您将能够按预期处理Office文档:
import pymupdf4llm
import pymupdf.pro
pymupdf.pro.unlock()
md_text = pymupdf4llm.to_markdown("sample.doc")
正如您所看到的,PyMuPDF Pro 的功能将在 PyMuPDF4LLM 的上下文中可用!