专栏首页python3使用Python将PDF转换成图片

使用Python将PDF转换成图片

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python 分页

            class UserList(models.Model):             username = models.CharField(ma...

    py3study
  • CRM之分页

      分页功能在网页中是非常常见的一个功能,其作用也就是将数据分割成多个页面来进行显示。

    py3study
  • Python描述符的使用

    作为一位python的使用者,你可能使用python有一段时间了,但是对于python中的描述符却未必使用过,接下来是对描述符使用的介绍

    py3study
  • 用django2.1开发公司官网(上)

    2.新建static目录,在static目录下新建css目录、js目录、img目录

    玩蛇的胖纸
  • 直击黑帽大会第一天:HTTPS再爆风险,安卓系统欺骗认证严重性史无前例

    一年一度的BlackHat大会于北京时间8月7日凌晨在美国内华达州拉斯维加斯召开。安恒信息总裁范渊率领安全技术达人们亲临现场,与来自世界各国的网络...

    安恒信息
  • ASM 磁盘、目录的管理

    ASM磁盘是ASM体系结构的重要组成部分,ASM磁盘由ASM实例来定位、管理,本文主要讲述ASM磁盘组、故障组等等。

    Leshami
  • 马化腾开启贵安七星数据中心试运行,数字新生态再添发展基石

    腾讯数据中心
  • 央视“直播长江”聚焦腾讯七星数据中心,用核心技术保障大数据安全

    腾讯数据中心
  • 3038 3n+1问题

    3038 3n+1问题  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 白银 Silver 题解 题目描述 Description 3n+...

    attack
  • 服务常见性能问题分析

    最近对一个golang的server项目做了性能测试,针对发现的问题做了简单的总结,供大家参考

    软测小生

扫码关注云+社区

领取腾讯云代金券