2024-09-01
Python
00

目录

代码
PyMuPDF介绍

代码

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

安装:

sh
pip install PyMuPDF==1.21.1

代码:

python
import os import 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 ok img = 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: continue doc.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_paths if __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文件进行搜索和提取文本

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!