1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python PyMuPDF 提取PDF文件中的图片到指定目录保存 PDF将每一页都保存为图片

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

时间:2020-04-24 23:16:48

相关推荐

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

代码

PyMuPDF的版本不同,似乎方法也不同,所以建议指定一个版本。

安装:

pip install PyMuPDF==1.21.1

代码:

import osimport fitz# 提取每一页的图片对象单独保存def muExtractImages(pdf_name, pic_save_path):doc = fitz.open(pdf_name)for itm,page in enumerate(doc):try:tupleImage = page.get_images()for xref0 in tupleImage: # 取第一个元组xref = xref0[0] # 最终取得xref okimg = doc.extract_image(xref) # 获取文件扩展名,图片内容 等信息imageFilename = os.path.join(pic_save_path, str(itm) + '_' + str(xref) + '.' + img['ext'])imgout = open(imageFilename, 'wb') # byte方式新建图片imgout.write(img["image"]) # 当前提取的图片写入磁盘imgout.close()except:continuedoc.close()# 将每一页作为图片,保存到某个目录def pdf_image(pdf_name, pic_save_path):img_paths = []doc = fitz.open(pdf_name)for i, pg in enumerate(doc.pages()):page = pg # 获得每一页的对象trans = fitz.Matrix(3.0, 3.0)pm = page.get_pixmap(matrix=trans, alpha=False) # 获得每一页的流对象img_path = str(i + 1) + '.jpg'img_path = os.path.join(pic_save_path, img_path)pm.save(img_path)img_paths.append(img_path)doc.close()return img_pathsif __name__ == '__main__':file_path = r'F:\BaiduNetdiskDownload\语文-状元笔记\语文-状元笔记\1.pdf' # pdf_name 文件路径dir_path = r'F:\BaiduNetdiskDownload\语文-状元笔记\语文-状元笔记\1' # 存放图片的文件夹muExtractImages(file_path, dir_path)

PyMuPDF介绍

PyMuPDF是一个用于操作PDF文件的Python库。它是基于MuPDF库的Python绑定,提供了一组高级功能,可以用于读取,修改和写入PDF文件。

主要特性:

支持多种PDF版本,包括PDF 1.7(Acrobat 8.0)

支持读取加密和签名的PDF文件

支持修改PDF文件的内容,包括文本,图像,链接和表单

支持创建新的PDF文件或合并现有的PDF文件

支持渲染PDF页面为图像,包括多种格式(如PNG,JPEG,TIFF)

支持对PDF文件进行搜索和提取文本

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。