在编辑文档时,我们可能需要引用PDF中的某张图片;在学术研究中,我们可能需要提取PDF中的图表或插图进行分析;在电子书制作中,我们可能需要将PDF中的图片转换为其他格式以适应不同的阅读设备。因此,掌握PDF图片提取的方法对于提高工作效率和满足个性化需求具有重要意义。
在使用PDF文件时,我们经常需要提取其中的特定内容,特别是那些精美而又对个人有帮助的图片,就需要想办法将其直接提取出来。那这篇文章将介绍如何使用 Spire.PDF for Python 用 Python 提取 PDF 文档中的图片。
安装
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF
Python 从 PDF 文档中提取图片
Spire.PDF for Python 提供 PdfImageHelper.GetImagesInfo(page: PdfPageBase) 方法,用户可以直接从PDF 指定页面中获取图片信息。获取后,使用 PdfImageInfo.Image.Save() 方法,即可将图片保存为图片文件。获取PDF文档中的图片详细步骤如下:
- 创建 PdfDocument 对象。
- 使用 PdfDocument.LoadFromFile() 方法加载 PDF 文档。
- 创建 PdfImageHelper 对象。
- 遍历文档中的页面。
- 使用 PdfImageHelper.GetImagesInfo(page:PdfPageBase) 方法获取页面中的图片信息。
- 遍历获取结果,使用 PdfImageInfo.Image.Save() 方法将每张图片保存为图片文件。
from spire.pdf.common import *
from spire.pdf import *
# 创建 PdfDocument 对象
doc = PdfDocument()
# 加载 PDF 文档
doc.LoadFromFile("示例文档.pdf")
# 创建 PdfImageHelper 对象
image_helper = PdfImageHelper()
image_count = 1
# 遍历文档中的页面
for i in range(doc.Pages.Count):
# 获取当前页面中的图片信息
images_info = image_helper.GetImagesInfo(doc.Pages[i])
# 获取图片并将其保存为图片文件
for j in range(len(images_info)):
image_info = images_info[j]
output_file = f"C:/Users/Administrator/Desktop/图片/image{image_count}.png"
image_info.Image.Save(output_file)
image_count += 1
doc.Close()
除了获取PDF里面的图片,Spire.PDF for Python还支持获取图片的坐标位置。如果想了解其他更多功能,请留言回复