如何通过 Python 中的 fitz 库提取 pdf 中的图片?
2023-11-21 阅读 47
要使用Python中的fitz库提取PDF中的图片,可以按照以下步骤进行操作:
1. 首先,确保已经安装了fitz库。可以使用以下命令进行安装:
```python
pip install PyMuPDF
```
2. 导入fitz库:
```python
import fitz
```
3. 打开PDF文件:
```python
doc = fitz.open('example.pdf')
```
其中,'example.pdf'是你要提取图片的PDF文件路径。
4. 遍历PDF的页面:
```python
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}`是图像的文件扩展名。
5. 关闭PDF文件:
```python
doc.close()
```
完成以上步骤后,你将从PDF文件中提取出所有的图片,并将其保存到指定的路径中。
更新于 2023年11月21日