将pdf文件转化为img
1 简介
将pdf转化为img方法比较多,本文介绍一下pdf2image和PyMuPDF,使用pdf2image依赖poppler才能够实现转化pdf,由于安装配置poppler比较麻烦(Poppler 是用于处理 PDF 文档的开源库。它可以对pdf文件进行页面提取、文本提取、注释和书签等了一系列高级功能),因此选择了PyMuPDF库。
# 安装pymupdf
pip install pymupdf
# 安装pymupdf4llm
pip install pymupdf4llm
2 使用PyMuPDF
import pathlib
import pymupdf4llm
import pymupdf
def pdf_to_md():
# 转化为mark down
md_text = pymupdf4llm.to_markdown("E:/test/tes2.pdf")
# 存储markdown
pathlib.Path("E:/test/tes2.md").write_bytes(md_text.encode())
def pdf_to_img():
# 打开文档
pdf = pymupdf.open("E:/test/tes2.pdf")
# 读取每页pdf文件
for page in pdf:
# 设置分辨率
# 不设置分辨率,dpi默认96
pix = page.get_pixmap(dpi=300)
# 转化为png
pix.save("E:/test/img/page-%i.png" % page.number)
def pdf_to_other():
# 打开文档
pdf = pymupdf.open("E:/test/tes2.pdf")
# 查看文档的基本信息
meta_data = pdf.metadata
print(meta_data)
# 查找特定页面
page = pdf.load_page(1)
print(page)
# 显示文本中的大纲标题
# 返回值元素:[大纲级别, 大纲名称 , 大纲所在位置]
toc = pdf.get_toc()
print(toc)
if __name__ == '__main__':
pdf_to_md()
pdf_to_img()
pdf_to_other()