一、环境安装
windows环境:
安装1:pdf2image: pip install pdf2image
安装2:手动下载一个软件到本地poppler for Windows 不然会出现not install poppler or not in PATH错误
linux环境:
安装pdf2image: pip install pdf2image
安装pdfTools : sudo yum install poppler-cpp-devel
二、使用
pdf2image使用
from pdf2image import convert_from_path
def main(filename, outputDir):
print('filename=', filename)
print('outputDir=', outputDir)
# dpi默认为200,在19寸电脑上默认只能显示原尺寸的40%,所以一般情况推荐设置100
# 有些pdf可能存在转换图片只能转10几张的情况发生,这栋一般就认为是pdf的问题吧
# 可以设置部分转换,设置开始转换的页码以及结束的页码
images = convert_from_path(filename, dpi=100,thread_count=4,poppler_path="D:\\DevelopKits\\poppler-0.68.0\\bin")
for index, img in enumerate(images):
if index % 50 == 0:
print("第%s页" % (index))
img.save('%s/page_%s.png' % (outputDir, index))
if __name__ == "__main__":
main("D:\\pdf\\20210220.pdf", '../pdfimages/')
注意:改文件不能命名为 pdf2image.py,因为这个文件依赖pdf2image模块,如果文件与模块同名,则会出现找不到convert_from_path的错误。
可以指定poppler_path,不然在windows中,得把poppler设在到环境变量path中去。
image 将是代表PDF文档每一页的PIL图像的列表。
函数参数定义:
convert_from_path(pdf_path, 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;
pdf2image官网:pdf2image · PyPI