前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python将PDF转换成图片

使用Python将PDF转换成图片

作者头像
py3study
发布2020-01-07 23:43:12
3.4K0
发布2020-01-07 23:43:12
举报
文章被收录于专栏:python3

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

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

一、安装poppler

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

代码语言:javascript
复制
yum install poppler poppler-cpp-devel poppler-utils

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

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

二、安装pdf2image

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

代码语言:javascript
复制
pip install pdf2image

三、书写脚本

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

代码语言:javascript
复制
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/')

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

代码语言:javascript
复制
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')

    其中:

代码语言:javascript
复制
thread_count :允许设置用于转换的线程数;
first_page :允许设置由pdftoppm处理的第一个页面;
last_page:允许设置最后一页由pdftoppm处理;
fmt:允许指定输出格式。目前支持的格式是jpg、png和ppm;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档