Python将PDF转为png图像

最近开发办公类相关项目,在办公类项目不可避免的就是处理 Excel、Word、Pdf 之类的文档 , 需要将文档格式进行转换,以便于显示、打印等的需要 。今天,我们来看一下 PDF 文档转换为 png 图像的方法,便于在项目中没有好的显示 PDF 文档的方法下通过转换为 png 图像进行显示 。

1.PyMuPDF 简介

在介绍 PyMuPDF 之前 , 先来了解一下 MuPDF , 从命名形式中就可以看出 , PyMuPDF 是 MuPDF 的 Python接口形式 。

1.1MuPDF

MuPDF 是一个轻量级的 PDF、XPS和电子书查看器 。MuPDF 由软件库、命令行工具和各种平台的查看器组成 。
MuPDF 中的渲染器专为高质量抗锯齿图形量身定制 。它以精确到像素的几分之一内的度量和间距呈现文本,以在屏幕上再现打印页面的外观时获得最高保真度 。
这个观察器很?。俣群芸?,但是很完整 。它支持多种文档格式,如PDF、XPS、OpenXPS、CBZ、EPUB和FictionBook 2 。您可以使用移动查看器对 PDF 文档进行注释和填写表单(这个功能很快也将应用于桌面查看器) 。
命令行工具允许您注释、编辑文档,并将文档转换为其他格式,如HTML、SVG、PDF和CBZ 。您还可以使用Javascript编写脚本来操作文档 。

1.2PyMuPDF

PyMuPDF 是支持 MuPDF 的Python绑定 。
使用 PyMuPDF , 你可以访问扩展名为“.pdf”、“.xps”、“.oxps”、“.cbz”、“.fb2”或“.epub” 。此外,大约10种流行的图像格式也可以像文档一样处理:“.png”,“.jpg”,“.bmp”,“.tiff”等 。

2.PyMuPDF 安装

使用 pip 安装命令:
python -m pip install --upgrade pippython -m pip install --upgrade pymupdf
除了标准库 , 它没有强制性的外部依赖项 。只有在安装了某些包时,才会有一些不错的方法
  • Pillow:当使用 Pixmap.pil_save() 和 Pixmap.pil_tobytes() 时需要
  • fontTools:当使用 Document.subset_fonts() 时需要
  • pymupdf-fonts 是一个不错的字体选择,可以用于文本输出方法
导入库:
import fitz
查看版本:
import fitzprint(fitz.__doc__)

3.使用 PyMuPDF

3.1打开文档

doc = fitz.open(filename)# or fitz.Document(filename)
返回 Document 对象 。

3.2 Document 的一些方法和属性

Method / Attribute
Description
Document.page_count
页数 (

相关经验推荐