这个代码的前提是安装了 PyMuPDF 库和相应的依赖项,以及正确安装了 fitz 模块。同时,需要提供有效的 PDF 文件路径和要存储图像文件的目录路径。在运行代码之前,请确保这些前提条件都已满足。

fitz 就是PyMuPDF库安装的包,若没有请打开cmd输入以下pip指令:

pip install PyMuPDF==1.18.14

代码使用的是1.18.14版本的PyMuPDF,最新版本的可能会报错。

若现存的版本不是1.18.14,可以使用如下指令卸载后重新安装对应版本:

pip uninstall PyMuPDF

在确保上述条件满足的情况下直接使用如下代码:

import datetime
import os # 文件库
import fitz  # fitz就是安装的PyMuPDF包def pdf_to_image(pdfPath, imagePath):startTime = datetime.datetime.now()  # 获取开始时间pdfDoc = fitz.open(pdfPath)  # 打开PDF文件for pg in range(pdfDoc.pageCount):  # 遍历每一页page = pdfDoc[pg]  # 获取当前页rotate = int(0)  # 设置旋转角度# 设置缩放系数,这将为我们生成分辨率提高2.6的图像。# 此处若是不做设置,默认图片大小为:792X612, dpi=96# 这里的缩放系数为3,会生成更高分辨率的图像,但也会增加生成时间和文件大小。zoom_x = 3 #数字越大越高清,default:1.3333333zoom_y = 3mat = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)  # 创建矩阵,用于缩放和旋转图像pix = page.getPixmap(matrix=mat, alpha=False)  # 获取当前页的像素图像if not os.path.exists(imagePath):  # 判断存放图片的文件夹是否存在os.makedirs(imagePath)  # 若不存在则创建# 将图像写入指定的文件夹内,文件名为"images_页码.png"。pix.writePNG(imagePath + '/' + 'images_%s.png' % pg)endTime = datetime.datetime.now()  # 获取结束时间# 显示转换所使用的总耗时sprint('耗费时长=', (endTime - startTime).seconds)if __name__ == "__main__":# 1、PDF文件路径pdfPath = 'C:/Users/柴宝/Desktop/Stacking回归模型融合演示文稿.pdf'# 2、需要储存图像的目录路径imagePath = 'C:/Users/柴宝/Desktop/新建文件夹'pdf_to_image(pdfPath, imagePath)  # 调用函数进行处理

在这个代码中需要注意以下几点:

  • “pdfPath”和“imagePath”变量需要提供有效的路径

  • fitz 模块需要正确安装,否则代码无法正常运行

  • 转换大型 PDF 文件可能需要一定的时间和内存,因此要有足够的计算资源

  • 在调用 pix.writePNG() 函数时,生成的文件名为 “images_页码.png”,其中页码是从 0 开始计数的

  • 缩放系数 zoom_x 和 zoom_y 的值会影响输出图像的分辨率和大小,需要根据实际情况进行调整。在代码中,缩放系数设置为 3,会生成更高分辨率的图像,但也会增加生成时间和文件大小

  • 在执行函数 pdf_to_image() 时,需要提供 PDF 文件路径和要存储图像的目录路径

注意以上几点可以确保代码的正确运行和输出想要的结果。

Python实现PDF转图片【一下解决不报错】相关推荐

  1. python中利用lxml模块解析xml文件报错XMLSyntaxError: Opening and ending tag mismatch

    今天在代码中第一次使用lxml解析xml文件时出错了, XMLSyntaxError: Opening and ending tag mismatch: keyEffectiveDate line 2 ...

  2. python论文排版_论文图片处理小技巧~python更改pdf格式图片的宽和高

    叶绿体基因组类的文章通常都会用OGDRAW来画圈图,我自己通常会保存为pdf格式,调整一些细节,然后在使用Adobe Acrobat Pro 另存为其他格式的图片.这个时候如果在设置里选择300像素/ ...

  3. 2021-07-29 使用python将pdf转图片、在图片上进行标注

    针对python基础的学习停止了接近一周,主要是因为三天的团建和一项新的实习小任务,任务虽小但是对于新手来说着实有点难度,在反复订正和修改之后最终成功实现了要求.以下是一些值得记录的工作笔记.学习心得 ...

  4. Python 实现 PDF转图片 图片转PDF

    这里使用了三个工具包分别为 PyMuPDF.reportlab 以及 PIL,所以这三个工具包需要提前安装,但是注意不要使用 pip install fitz 安装 fitz,因为这里使用的 fitz ...

  5. python操作pdf与图片相互转换

    一. pdf 转 png 格式图片 import fitz import globdef page_selection(desc):flag = Truewhile (flag):instr = in ...

  6. python给pdf加图片签名_Python生成个性签名图片获取GUI过程解析

    这篇文章主要介绍了Python生成个性签名图片获取GUI过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先来看看程序运行的样子: 所以,程序 ...

  7. PYTHON PyMuPDF PDF转图片创建pixmap报错:‘Page‘ object has no attribute ‘getPixmap‘

    错误信息: 解决方法: 将 pm = page.getPixmap(matrix=mat, alpha=False) 改写成 page.get_pixmap(matrix=mat,alpha=Fals ...

  8. python mysqldb安装_解决centos7 安装MySQLdb-python 报错 方案

    运行 pip install MySQL-Python 报错: 云服务器 Command python setup.py egg_info failed with error code 1 in 继续 ...

  9. python psutil库安装_安装psutil模块报错安装python-devel

    psutil/_psutil_linux.c:9:20: 错误:Python.h:没有那个文件或目录 In file included from psutil/_psutil_linux.c:19: ...

最新文章

  1. selenium python怎么读_selenium+Python中的面试总结
  2. sql三张表的搜索要满足5种搜索条件的模糊搜索_面试三轮我倒在了一道 SQL 题上……| 原力计划...
  3. mysql8.0.15远程登陆权限,MySQL8.0给root用户赋予远程连接权限
  4. [剑指offer]面试题第[6]题[JAVA][旋转数组的最小数字][二分法]
  5. FPGA复位激励编写(方法三)
  6. Windows phone 8 学习笔记(7) 设备
  7. 函数及脚本的综合应用
  8. 张季跃 201771010139《面向对象程序设计(java)》第十三周学习总结
  9. 2021兴业数金Java笔试题面经
  10. java科学计算器代码_用JAVA编写的科学计算器源代码是什么?
  11. PHP获取上周一,获取指定日期的上周日期,上周一
  12. Thunderbolt3 方案介绍及应用案例介绍
  13. AMD define函数
  14. Swagger设置密码登录
  15. 鸿蒙开发|呼吸训练实战项目(二)
  16. GET http://localhost:8080/ 404 (Not Found)
  17. Python最新就业信息
  18. 企业辛迪加:德鲁克日志之五月十八日
  19. IPO中的锁定期规则
  20. 苹果ipad有哪几款_2020年最新iPad选购指南

热门文章

  1. 01 | 基础架构:MySQL基本架构和查询语句的执行
  2. ubuntu DBUS 收集
  3. uni.showModal
  4. linux中miniconda软件的安装及环境配置
  5. 自学量化投资之旅 - 建立股票数据库 (下)
  6. Eclipse+Maven+Struts2+Spring+Mybatis完整搭建
  7. 将JS对象转换为JSON |将JSON转换为JS对象
  8. 干货| 支付系统如何进行分布式改造
  9. 【转】ipad死机了,无法退出,也无法关机,怎么办
  10. javascript写字技巧_网站建设对JavaScript书写如何更加规范化