Python实现PDF转图片【一下解决不报错】
这个代码的前提是安装了 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转图片【一下解决不报错】相关推荐
- python中利用lxml模块解析xml文件报错XMLSyntaxError: Opening and ending tag mismatch
今天在代码中第一次使用lxml解析xml文件时出错了, XMLSyntaxError: Opening and ending tag mismatch: keyEffectiveDate line 2 ...
- python论文排版_论文图片处理小技巧~python更改pdf格式图片的宽和高
叶绿体基因组类的文章通常都会用OGDRAW来画圈图,我自己通常会保存为pdf格式,调整一些细节,然后在使用Adobe Acrobat Pro 另存为其他格式的图片.这个时候如果在设置里选择300像素/ ...
- 2021-07-29 使用python将pdf转图片、在图片上进行标注
针对python基础的学习停止了接近一周,主要是因为三天的团建和一项新的实习小任务,任务虽小但是对于新手来说着实有点难度,在反复订正和修改之后最终成功实现了要求.以下是一些值得记录的工作笔记.学习心得 ...
- Python 实现 PDF转图片 图片转PDF
这里使用了三个工具包分别为 PyMuPDF.reportlab 以及 PIL,所以这三个工具包需要提前安装,但是注意不要使用 pip install fitz 安装 fitz,因为这里使用的 fitz ...
- python操作pdf与图片相互转换
一. pdf 转 png 格式图片 import fitz import globdef page_selection(desc):flag = Truewhile (flag):instr = in ...
- python给pdf加图片签名_Python生成个性签名图片获取GUI过程解析
这篇文章主要介绍了Python生成个性签名图片获取GUI过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先来看看程序运行的样子: 所以,程序 ...
- PYTHON PyMuPDF PDF转图片创建pixmap报错:‘Page‘ object has no attribute ‘getPixmap‘
错误信息: 解决方法: 将 pm = page.getPixmap(matrix=mat, alpha=False) 改写成 page.get_pixmap(matrix=mat,alpha=Fals ...
- python mysqldb安装_解决centos7 安装MySQLdb-python 报错 方案
运行 pip install MySQL-Python 报错: 云服务器 Command python setup.py egg_info failed with error code 1 in 继续 ...
- python psutil库安装_安装psutil模块报错安装python-devel
psutil/_psutil_linux.c:9:20: 错误:Python.h:没有那个文件或目录 In file included from psutil/_psutil_linux.c:19: ...
最新文章
- selenium python怎么读_selenium+Python中的面试总结
- sql三张表的搜索要满足5种搜索条件的模糊搜索_面试三轮我倒在了一道 SQL 题上……| 原力计划...
- mysql8.0.15远程登陆权限,MySQL8.0给root用户赋予远程连接权限
- [剑指offer]面试题第[6]题[JAVA][旋转数组的最小数字][二分法]
- FPGA复位激励编写(方法三)
- Windows phone 8 学习笔记(7) 设备
- 函数及脚本的综合应用
- 张季跃 201771010139《面向对象程序设计(java)》第十三周学习总结
- 2021兴业数金Java笔试题面经
- java科学计算器代码_用JAVA编写的科学计算器源代码是什么?
- PHP获取上周一,获取指定日期的上周日期,上周一
- Thunderbolt3 方案介绍及应用案例介绍
- AMD define函数
- Swagger设置密码登录
- 鸿蒙开发|呼吸训练实战项目(二)
- GET http://localhost:8080/ 404 (Not Found)
- Python最新就业信息
- 企业辛迪加:德鲁克日志之五月十八日
- IPO中的锁定期规则
- 苹果ipad有哪几款_2020年最新iPad选购指南
热门文章
- 01 | 基础架构:MySQL基本架构和查询语句的执行
- ubuntu DBUS 收集
- uni.showModal
- linux中miniconda软件的安装及环境配置
- 自学量化投资之旅 - 建立股票数据库 (下)
- Eclipse+Maven+Struts2+Spring+Mybatis完整搭建
- 将JS对象转换为JSON |将JSON转换为JS对象
- 干货| 支付系统如何进行分布式改造
- 【转】ipad死机了,无法退出,也无法关机,怎么办
- javascript写字技巧_网站建设对JavaScript书写如何更加规范化