要使用Python中的fitz库提取PDF中的图片,可以按照以下步骤进行操作:
首先,确保已经安装了fitz库。可以使用以下命令进行安装:
pip install PyMuPDF
导入fitz库:
import fitz
打开PDF文件:
doc = fitz.open('example.pdf')
其中,'example.pdf'是你要提取图片的PDF文件路径。
遍历PDF的页面:
for i in range(len(doc)):
page = doc[i]
images = page.get_images()
for img in images:
xref = img[0]
base_image = doc.extract_image(xref)
image_data = base_image["image"]
image_format = base_image["ext"]
with open(f'image_{i}_{xref}.{image_format}', 'wb') as f:
f.write(image_data)
在这个示例中,我们遍历了每个页面,并使用get_images()
方法获取每个页面中的图片信息。然后,我们使用extract_image()
方法提取每个图片的原始数据,并将其保存到文件中。
注意,extract_image()
方法返回一个字典,其中包含图像数据和扩展名。我们可以使用这些信息来创建一个唯一的文件名,并将图像数据写入文件。
上述代码中,image_{i}_{xref}.{image_format}
是保存图像的文件名,其中{i}
是页面索引,{xref}
是图像的引用编号,{image_format}
是图像的文件扩展名。
关闭PDF文件:
doc.close()
完成以上步骤后,你将从PDF文件中提取出所有的图片,并将其保存到指定的路径中。