????必须在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;