使用Python将PDF转换成图片

发布时间:2019-09-13 09:25:31编辑:auto阅读(2121)

        必须在Linux环境下,使用到的环境和工具:CentOS7+Python3.6+pdf2image+poppler

            首先要在系统中安装poppler,这是一个用于呈现可移植文档格式(PDF)文档的免费软件实用程序库

    一、安装poppler

        直接用下面的命令进行安装:

    yum install poppler poppler-cpp-devel poppler-utils

    注意:在这里如果没有安装“poppler-utils”就会出现如下所示的错误:

        Exception: Unable to get page count. Is poppler installed and in PATH?

    二、安装pdf2image

        直接用下面的命令进行安装

    pip install pdf2image

    三、书写脚本

        安装完成之后,将以下内容写为python脚本,并将需要转换的pdf文件更名为“source.pdf”,放到同一目录下即可,并在同级目录下创建“pdfimage”文件夹用于保存生成的图片

    from pdf2image import convert_from_path
    import tempfile
    def main(filename, outputDir):
        print('filename=', filename)
        print('outputDir=', outputDir)
        with tempfile.TemporaryDirectory() as path:
            images = convert_from_path(filename)
            for index, img in enumerate(images):
                img.save('%s/page_%s.png' % (outputDir, index))
    if __name__ == "__main__":
        main('source.pdf', 'pdfimage/')

        上边代码中的这两个个函数的详细使用方法如下:

    convert_from_path(pdf_path, dpi=200, output_folder=None, first_page=None, last_page=None, fmt='ppm')
    convert_from_bytes(pdf_file, dpi=200, output_folder=None, first_page=None, last_page=None, fmt='ppm')

        其中:

    thread_count :允许设置用于转换的线程数;
    first_page :允许设置由pdftoppm处理的第一个页面;
    last_page:允许设置最后一页由pdftoppm处理;
    fmt:允许指定输出格式。目前支持的格式是jpg、png和ppm;




关键字