如何批量快速提取出PDF中的图片文件,你是否遇到这样的一个问题,尤其是PPT文件转换为PDF文件,需要快速提取其中的图片文件,如果你恰好会那么一点py,同时复制粘贴没问题的话,那么相信你也能够很轻松的解决这个问题。

提取PDF文件中的图片无疑是需要读取PDF文件,Python作为胶水语言,有着丰富第三方库,只要你想基本上都能找到你想要的轮子,而这里本渣渣应用的第三方库就是PyMuPDF,度娘搜的!!!

PyMuPDF(又称“ fitz”):MuPDF的Python绑定,这是一种轻量级的PDF和XPS查看器。该库可以访问PDF,XPS,OpenXPS,epub,漫画和小说书格式的文件,并且以其最佳性能和高渲染质量而闻名。

PyMuPDF库安装方法:

pip install PyMuPDF

PyMuPDF库使用方法:

#打开pdf读取页码数import fitzpdf_document = "demo1.pdf"
doc = fitz.open(pdf_document)  #打开pdf
print ("number of pages: %i" % doc.pageCount)  #获取页码数
print(doc.metadata)  # 获取pdf信息page1 = doc.loadPage(0) #pdf文件第一页
page1text = page1.getText("text") #获取pdf第一页文本信息
print(page1text)

PyMuPDF的优点是可以保持原始文档结构完整-带有换行符的整个段落都保留在PDF文档中!

使用PyMuPDF从PDF提取图像

PyMuPDF使用该方法简化了从PDF文档提取图像的过程getPageImageList()。

#提取图像import fitzpdf_document = fitz.open("demo1.pdf")
for current_page in range(len(pdf_document)):for image in pdf_document.getPageImageList(current_page):xref = image[0]pix = fitz.Pixmap(pdf_document, xref)if pix.n < 5:        # this is GRAY or RGBpix.writePNG("page%s-%s.png" % (current_page, xref))else:                # CMYK: convert to RGB firstpix1 = fitz.Pixmap(fitz.csRGB, pix)pix1.writePNG("page%s-%s.png" % (current_page, xref))pix1 = Nonepix = None

第二种方法:


import datetime
import osimport fitz  # fitz就是pip install PyMuPDFdef pyMuPDF_fitz(pdfPath, imagePath):startTime_pdf2img = datetime.datetime.now()  # 开始时间print("imagePath=" + imagePath)pdfDoc = fitz.open(pdfPath)for pg in range(pdfDoc.pageCount):page = pdfDoc[pg]rotate = int(0)# 每个尺寸的缩放系数为1.3,这将为我们生成分辨率提高2.6的图像。# 此处若是不做设置,默认图片大小为:792X612, dpi=96# zoom_x = 1.33333333  # (1.33333333-->1056x816)   (2-->1584x1224)# zoom_y = 1.33333333zoom_x=zoom_y=10mat = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)pix = page.getPixmap(matrix=mat, alpha=False)if not os.path.exists(imagePath):  # 判断存放图片的文件夹是否存在os.makedirs(imagePath)  # 若图片文件夹不存在就创建pix.writePNG(imagePath + '/' + 'images_%s.png' % pg)  # 将图片写入指定的文件夹内endTime_pdf2img = datetime.datetime.now()  # 结束时间print('pdf2img时间=', (endTime_pdf2img - startTime_pdf2img).seconds)if __name__ == "__main__":# 1、PDF地址pdfPath = 'demo1.pdf'# 2、需要储存图片的目录imagePath = './imgs'pyMuPDF_fitz(pdfPath, imagePath)

搜索指定文本

#搜索指定文本内容
import fitzfilename = "demo1.pdf"
search_term = "烟"
pdf_document = fitz.open(filename)for current_page in range(len(pdf_document)):page = pdf_document.loadPage(current_page)if page.searchFor(search_term):print("%s found on page %i" % (search_term, current_page))

来源:

1.Python操作PDF-文本和图片提取(使用PyPDF2和PyMuPDF)

https://www.jianshu.com/p/8fbb662bd6f7

2.python 将PDF 转成 图片的几种方法

https://blog.csdn.net/weixin_42081389/article/details/103712181

注:以上代码都是本渣渣抄袭的,如有不理解,可咨询度娘获取解决方案

·················END·················

你好,我是二大爷,

革命老区外出进城务工人员,

互联网非早期非专业站长,

喜好python,写作,阅读,英语

不入流程序,自媒体,seo . . .

公众号不挣钱,交个网友。

读者交流群已建立,找到我备注 “交流”,即可获得加入我们~

听说点 “在看” 的都变得更好看呐~

关注关注二大爷呗~给你分享python,写作,阅读的内容噢~

扫一扫下方二维码即可关注我噢~

关注我的都变秃了

说错了,都变强了!

不信你试试

扫码关注最新动态

公众号ID:eryeji

Python脚本工具,PyMuPDF批量提取PDF文件中的图片相关推荐

  1. Python工具源码,Python批量提取PPT文件中的图片

    在办公场景当中,同样也有这样一个需求,那就是快速批量把PPT文件中的图片提取出来,毕竟一个个点击另存为太过于繁琐,以及耗费时间,前面本渣渣分享过如何应用Python批量提取PDF文件中的图片,而这一篇 ...

  2. python批量提取pdf的数据_Python批量提取PDF文件中文本的脚本

    本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下 首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import ...

  3. 个人永久性免费-Excel催化剂功能第88波-批量提取pdf文件信息(图片、表格、文本等)...

    日常办公场合中,除了常规的Excel.Word.PPT等文档外,还有一个不可忽略的文件格式是pdf格式,而对于想从pdf文件中获取信息时,常规方法将变得非常痛苦和麻烦.此篇给大家送一pdf文件提取信息 ...

  4. 怎么用迅捷PDF转换器在线提取PDF文件中的图片

    大家在学习或者是办公中经常使用到PDF文件,我们在做一份工作文件的时候,需要一些资料来补充内容,这些资料是以PDF文件格式呈现,在使用PDF文件时,文件中有的图片做到很精细,想要单独提取保存下来备用. ...

  5. Python PyMuPDF 提取PDF文件中的图片到指定目录保存,PDF将每一页都保存为图片

    代码 PyMuPDF的版本不同,似乎方法也不同,所以建议指定一个版本. 安装: pip install PyMuPDF==1.21.1 代码: import os import fitz# 提取每一页 ...

  6. Python批量提取PDF文件中的文本

    首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import os import sys import time pdfs = (pdfs for pdfs ...

  7. Python批量提取Excel文件中的图片

    推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2021年7月第9次印刷,山东省一流本科 ...

  8. 使用PyPDF4和PIL修改PDF文件中的图片

    继上篇从PDF中提取图片数据之后,我们看如何使用PIL修改图片并写入到PDF文件. 先放两个相关链接: 使用PyPDF4提取pdf文件中的图片 PIL从内存中加载图片 先放代码: import PyP ...

  9. Tips--利用shell脚本批量提取txt文件中任意字段

    利用shell脚本批量提取txt文件中任意字段 前言 0. 一个例子 1. cat命令 2. '|'符号与'>'符号 3. grep命令 4. awk命令 前言 对于测试中出现的log,我们经常 ...

最新文章

  1. 【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )
  2. 关于条件运算符 ?:的小程序
  3. C#控制台程序生成文件分析
  4. 无法访问此网站刷新又好了_一键突破或加速网站访问
  5. QT右键点击添加库不响应的解决办法
  6. 抖音数据统计_26万条抖音数据背后的推荐逻辑以及严重失调的男女比例
  7. 这份 Pandas 学习教程很不错,可在线运行
  8. CCF NOI100002 取数游戏
  9. Java中将inputstream输入流转换成byte[]字节数组
  10. macbook 安装任意来源
  11. java8新特性——Stream流
  12. 牛腩新闻发布--.NET控件FreeTextBox使用方法
  13. php 扫描器源代码,php端口扫描器代码
  14. PHP编写简单的注册登录页面
  15. mysql写保护,sd卡有写保护怎么格式化
  16. html中的颜色代码详解及图示
  17. windows下引导盘安装雪豹
  18. 已斥资250亿!东京奥运会的AI黑科技能否如期亮相?
  19. ABAP CS02物料BOM相关性分配实现
  20. react 发post请求 通过a标签 下载pdf文档

热门文章

  1. 妙趣横生的算法实例1-7
  2. RasDial函数遇到623错误
  3. 电脑ip地址查询要怎么做?查询IP地址就看这3种方法
  4. 菜品识别系统(Faster-RCNN目标检测算法)
  5. 业余程序员余流 - 杂谈 之 《每个人都有自己的选择》
  6. com.alibaba.druid.sql.parser.ParserException: syntax error, error in :’limi1 1 limit ?,?’解决方法
  7. 物联网实验:Arduino实现光控灯,实现自动补光。
  8. 账户初始资金修改问题
  9. 大文娱,文学与文娱(2)
  10. [经验] 4K HDMI 接收发送 FMC子板(图像处理LVDS to HDMI 转换立体声双通道 )