广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python | 将pdf文件转换为图片,这一招就够了
  • 635
分享到

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

pythonpdf开发语言 2023-10-20 09:10:15 635人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

一、背景 部分情况下,需要将 pdf 页面转换为图片,例如 PNG 或 JPEG 格式。 python 的开源库 pdfplumber,提供了将 pdf 文件转换为图片的方法。 如果之前还没有安装和使

一、背景

部分情况下,需要将 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

--结束END--

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

本文链接: https://www.lsjlt.com/news/432907.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作