使用下面代码即可:
# -*- coding: utf-8 -*-
"""
pre-install 3 modules:
pip install traits
pip install fitz
pip install pymupdf
"""
import os
import fitz
def pdf_to_image(pdf_file,
output_folder=None,
image_format='png',
dpi=600):
"""
Convert pdf to images
Parameters
----------
pdf_file: path of pdf file
output_folder: output folder of images
image_format: extension of output images
dpi: dots per inch. This will affect clarity or resolution of output
images. Larger value lead to high image resolution.
"""
# create output folder
if output_folder is None:
output_folder = os.path.splitext(pdf_file)[0]
os.makedirs(output_folder, exist_ok=True)
# extract pdf pages and convert to image
pdf = fitz.open(pdf_file)
for i, page in enumerate(pdf):
pixel_map = page.get_pixmap(dpi=dpi, alpha=False)
pixel_map.save(
os.path.join(output_folder, '{}.{}'.format(str(i), image_format)))
pdf.close()
if __name__ == '__main__':
pdf_file = r'E:\pdf\test_paper.pdf'
output_folder = r'E:\pdf\image_folder'
pdf_to_image(pdf_file, output_folder)
注意需要装三个依赖包,其中第二个fitz
有比较多的依赖,需要多等一会