有时我们需要将PDF转换为图片做一些处理,一部分PDF阅读器例如Acrobat具备类似的功能,但是软件不同版本的功能有一定的差异,使用Python处理各类文件更加方便。
本次主要使用的有两个库,PyPDF2和fitz,这两个库都具有对PDF文件进行编辑处理的功能。
PyPDF2是专门对PDF文件进行操作的工具库,包含多种功能。
fitz是轻量级的PDF,XPS,电子书阅读器,可以对PDF文件编辑,也可以访问多种格式的文件。
首先引用需要使用两个工具库
import fitz
import PyPDF2
下面读取需要转换的PDF文件,使用PyPDF2获取PDF文件的页数
pdf = "abc.pdf"
doc = fitz.open("abc.pdf")
reader = PyPDF2.PdfFileReader(pdf)
# 获取单个文件页数
pageNum = reader.getNumPages()
分别读取每一页PDF内容,将PDF内容保存为PNG格式的图片,使用对应的页码对图片进行保存
for pg in range(0,pageNum):
page = doc.load_page(pg)
pix = page.get_pixmap()
a = str(pg)
b = 'C:\\Users\\bbb\\Desktop\\新建文件夹\\img\\'
c = ".png"
pix.save(b+a+c)
运行后即可在指定目录下得到保存的图片文件。
本次分享了使用Python将PDF转换为图片的方法,通过multiprocess等工具库可以批量处理PDF文件,进一步提高效率。