文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python | 将pdf文件转换为图片,这一招就够了

2023-10-20 09:29

关注

一、背景

部分情况下,需要将 PDF 页面转换为图片,例如 PNG 或 JPEG 格式。
python 的开源库 pdfplumber,提供了将 pdf 文件转换为图片的方法。
如果之前还没有安装和使用过pdfplumber库,pdfplumber的安装及基础使用,可参考往期文章:
pdfplumber安装、导入及基础使用方法

二、pdfplumber 将 pdf 文件转换为图片详解

pdfplumber 提供的方法:
.to_image(resolution=150),结果返回PageImage类的实例。
参数:resolution={integer},设置分辨率,可省略,默认分辨率:72。
使用方法如下,将下面代码段中路径改为需要转换的pdf文件路径即可。

import pdfplumber# 需要转换为图片的pdf文件路径file_path = r'E:\pytest\pdfp\test\test.pdf'with pdfplumber.open(file_path) as pdf:    # pdf.pages默认为pdf全部页    # 可通过切片的方式选择需要转换的1页或几页,如前2页:pdf.pages[:2]    for i, page in enumerate(pdf.pages[:2]):        im = page.to_image(resolution=150)        # 保存        im.save(r'E:\pytest\pdfp\test\page-{}.png'.format(i + 1))        print('----分割线,第%d页----' % (int(i) + 1))

上述代码,将 test.pdf 的前2页转换为图片,运行结果如下:
在这里插入图片描述
PageImage类的一些基础方法

方法释义
im.reset()重置,清除已绘制的所有内容。
im.copy()将图像复制到新的“PageImage”实例。
im.save()语法:im.save(path_or_fileobject, format=“”);path_or_fileobject参数:传入保存图片的文件路径及文件名,不可省略,且一定要是路径+文件名+.png或.jpeg结尾。format参数:图片格式,可省略。

三、常见问题及解决方案

直接运行上述代码,使用 pdfplumber 中 to_image() 方法,将 PDF 文件转换为图片时,可能会出现报错,主要报错情况有以下2种。

(一)本地没有安装ImageMagick

重点报错提示:You probably had not installed ImageMagick library。
即报错原因:本地没有安装 ImageMagick。ImageMagick 是一个免费的创建、编辑、合成图片的软件。
解决办法:直接点击报错提示中的链接,下载 ImageMagick 安装包,安装即可。
在这里插入图片描述
本文下载的版本/安装包文件是:ImageMagick-7.1.1-15-Q16-HDRI-x64-dll.exe
ImageMagick简易安装教程
双击下载的 ImageMagick 安装文件,根据提示点击【next】,直接安装即可。
也可根据需要,在安装过程中,修改默认安装路径和配置项,如果觉得麻烦,可根据提示一直【next】安装,默认的安装已经足够使用(已经包括创建桌面快捷方式、配置系统环境变量—这一点非常重要)。
部分重点安装过程,如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
ImageMagick 安装完成后,该报错问题解决。

(二)找不到gswin64c.exe问题

重点报错提示:FailedToExecuteCommand “gswin64c.exe”。
报错原因:安装 ImageMagick 时,没有附带安装 gswin64c.exe。
解决办法:找到一个 gs.exe 文件去替代。
在这里插入图片描述
详细步骤如下:
第一步:下载相关文件。
下载链接,可参考:
https://mirrors.tuna.tsinghua.edu.cn/gnu/octave/windows/
本文下载版本的是:
octave-8.2.0-w64.zip。(推荐直接在上面镜像链接网页去下载,速度更快,文件较大,网盘等资源下载会十分慢。)
对应本文已安装的 ImageMagick 版本,如下图:
在这里插入图片描述
第二步:解压 octave-8.2.0-w64.zip 文件,
并将 \octave-8.2.0-w64\mingw64\bin 路径下,
名为【gs.exe】文件改名为【gswin64c.exe】。
在这里插入图片描述
在这里插入图片描述
第三步:配置环境变量。
打开电脑【设置】-【系统】-【关于】-最右边【高级系统设置】-【环境变量】-找到系统变量中的【Path】变量-点击【编辑】-然后【新建】,将 \octave-8.2.0-w64\mingw64\bin 的完整路径(如本文:E:\soft\ImageMagick\octave-8.2.0-w64\mingw64\bin)添加进去,最后点击确认即可。
在这里插入图片描述
完成以上三步,该报错问题即可解决。如果还是报相同错误,重启一下python环境(如:关掉PyCharm,重新打开 )。

四、总结

pdfplumber 将 pdf 转换为图片的使用方法很简单,代码也不复杂。
可能较为麻烦的就是,对本地环境有一定的要求,需要安装和配置。

-end-

来源地址:https://blog.csdn.net/LHJCSDNYL/article/details/132520958

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯