必须在Linux环境下,使用到的环境和工具:CentOS7+Python3.6+pdf2image+poppler
灌云网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。首先要在系统中安装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;
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。