摘要:本文档主要描述将 pdf 的每一页保存为图片,在本例中,我们使用了PyMuPDF,PyMuPDF是MuPDF的 Python 绑定库,允许开发者通过 Python 轻松调用 MuPDF 的高性能文档处理功能。它专注于 PDF、EPUB、XPS 等格式的解析、渲
本文档主要描述将 pdf 的每一页保存为图片,在本例中,我们使用了PyMuPDF,PyMuPDF 是 MuPDF 的 Python 绑定库,允许开发者通过 Python 轻松调用 MuPDF 的高性能文档处理功能。它专注于 PDF、EPUB、XPS 等格式的解析、渲染和操作,以高效和易用性著称,适合需要快速处理复杂文档的 Python 开发者。
1.提取文本
# coding: utf-8import fitzdef get_text(file):# 打开文件doc = fitz.open(file)# 提取每一页的文本for page in doc.pages:print(page.get_text)if __name__ == '__main__':get_text('守株待兔.pdf')2.提取图像
# coding: utf-8import fitzdef get_image(file):doc = fitz.open(file)for page in doc.pages:images = page.get_imagesfor image in images:xref = image[0]print(image)print(xref)pix = fitz.Pixmap(doc, xref)pix.save(f"image_{xref}.png")if __name__ == '__main__':get_image('守株待兔.pdf')3.渲染页面
# coding: utf-8import fitzdef draw_page(file):doc = fitz.open(file)for i in range(doc.page_count):print('处理第{0}页'.format(i))filename = 'page_%i.png' % (i)print(filename)page = doc.load_page(i) # 加载页面zoom = 1 # 缩放因子(2 倍分辨率)mat = fitz.Matrix(zoom, zoom) # 渲染矩阵pix = page.get_pixmap(matrix=mat, alpha=False)pix.save(filename)def draw_page_2(file):doc = fitz.open(file)for index, page in enumerate(doc.pages):zoom = 1 # 缩放因子(2 倍分辨率)mat = fitz.Matrix(zoom, zoom) # 渲染矩阵pix = page.get_pixmap(matrix=mat, alpha=False)pix.save('page_%i.png' % index)if __name__ == '__main__':draw_page('守株待兔.pdf')draw_page_2('守株待兔.pdf')来源:IT职业教育