python pdf转图像

使用下面代码即可:

# -*- 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有比较多的依赖,需要多等一会

猜你喜欢

转载自blog.csdn.net/bby1987/article/details/125791241