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

这篇具有很好参考价值的文章主要介绍了python | 将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页转换为图片,运行结果如下:
python pdf转图片,python,python,pdf,开发语言
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 安装包,安装即可。
python pdf转图片,python,python,pdf,开发语言
本文下载的版本/安装包文件是:ImageMagick-7.1.1-15-Q16-HDRI-x64-dll.exe
ImageMagick简易安装教程
双击下载的 ImageMagick 安装文件,根据提示点击【next】,直接安装即可。
也可根据需要,在安装过程中,修改默认安装路径和配置项,如果觉得麻烦,可根据提示一直【next】安装,默认的安装已经足够使用(已经包括创建桌面快捷方式、配置系统环境变量—这一点非常重要)。
部分重点安装过程,如下图:
python pdf转图片,python,python,pdf,开发语言
python pdf转图片,python,python,pdf,开发语言
python pdf转图片,python,python,pdf,开发语言python pdf转图片,python,python,pdf,开发语言python pdf转图片,python,python,pdf,开发语言
ImageMagick 安装完成后,该报错问题解决。

(二)找不到gswin64c.exe问题

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

四、总结

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

-end-文章来源地址https://www.toymoban.com/news/detail-725659.html

到了这里,关于python | 将pdf文件转换为图片,这一招就够了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java使用ftl模板文件生成Word,以及Word转换图片或Pdf工具类

    一、写在前面 最近在项目中使用打印功能,发现这个功能我已经写过多次了,下面这个文章的发步日期在2020年,不得不感慨时间之快啊。 https://blog.csdn.net/weixin_43238452/article/details/109636200?spm=1001.2014.3001.5501 下面介绍一下应用场景:这次项目依旧是springboot项目,使用ftl模版生

    2024年02月15日
    浏览(59)
  • Python怎么将pdf转为图片?Python如何实现pdf文件转图片

    而pdf则是用来保存一些内容已经确定好的数据,因为pdf是无法直接修改内容的,所以也会经常将pdf转为图片来保存。本文就将会来介绍一下pdf转图片的方法,往下看看吧。 1.pdf转图片的话主要实现所需要的模块叫做PyMuPDF,它就是用来操作pdf文件的,通过pip工具下载安装即可。

    2024年02月11日
    浏览(64)
  • aspose-words、itextpdf完美解决java将word、excel、ppt、图片转换为pdf文件

    我是 傲骄鹿先生 ,沉淀、学习、分享、成长。 如果你觉得文章内容还可以的话,希望不吝您的「一键三连」,文章里面有不足的地方希望各位在评论区补充疑惑、见解以及面试中遇到的奇葩问法 面对日常开发过程中,将各种文件转换为pdf文件的问题,总是让人头疼,这次终

    2024年02月03日
    浏览(66)
  • python将visio转换为 PDF 文件

    参考链接:在 Python 中將 Visio 轉換為 PDF | Python Visio 到 PDF 庫 (aspose.com) 下载软件包: 读取文件,保存为PDF

    2024年04月11日
    浏览(43)
  • python 将pdf文件转图片

    有小伙伴问了怎么将 pdf文件转图片的问题,我百度了一波儿,搞了以下python代码给他封装成exe工具了。 中途打包踩了个坑,python进程池的问题,本地运行没啥问题,打包好的exe文件双击就会使电脑内存爆破卡死,重新开机才好。 准备工作: 安装PyMuPDF 直接 pip install PyMuPDF 即

    2024年02月15日
    浏览(51)
  • 快速转换PDF文件: Python和PyMuPDF教程

    解决问题 有时候将文档上传Claude2做分析,有大小限制,所以需要切割pdf文档为几个小点的文档,故才有了本文章。 如何用Python和PyMuPDF制作你想要大小的PDF? PDF是一种广泛使用的文件格式,可以在任何设备上查看和打印。但是,有时您可能只需要查看PDF文件中的前几页,而

    2024年02月14日
    浏览(57)
  • Python 快速合并PDF表格转换输出CSV文件

    单位的刷脸考勤机后台系统做得比较差,只能导出每个部门的出勤统计表pdf,格式如下: 近期领导要看所有部门的考勤数据,于是动手快速写了个合并pdf并输出csv文件的脚本。 pypdf2,pdfplumber ,前者用于合并,后者用于读表格。 C: pip install pypdf2 Looking in indexes: https://pypi.tu

    2024年02月03日
    浏览(52)
  • python脚本——批量将word文档转换成pdf文件

    语言:python 3 用法:点击运行后,弹出窗口选择word文档所在文件夹,程序运行后对 该文件夹下所有的word文件 全部转换成pdf文件,生成的pdf文件名字与原wrod文件相同。 如运行中报错,需要自行根据报错内容按照缺失的库 例如: 完整代码如下:

    2024年02月11日
    浏览(64)
  • [python]将多张图片合并为单个pdf文件

    最近有个个人需求是要把多个图片文件合并为一个PDF文件,这样方便用PDF阅读器连续看,避免界面点一下,只会图片放大。( 比如看漫画 ) 主要思路是先把单张图片转换成单个PDF文件,然后把PDF文件进行合并。原先是用WPS的转换工具做的,但WPS每次只能批量转换30张,如果

    2024年03月09日
    浏览(101)
  • 搞懂Python正则表达式,这一篇就够了

    本文代码基于Python3.11解释器,除了第一次示例,代码将省略 import re 这个语句 所有示例代码均可以在我的github仓库中的 code.py文件内查看 [我的仓库](PythonLearinig/正则表达式 at main · saopigqwq233/PythonLearinig (github.com)) 正则表达式是一种快速从文本中匹配对应模式文本的表达式,在

    2023年04月22日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包