在python中從pdf中提取圖像

圖像通常與文本一起用於 PDF 文檔,這使得內容更具吸引力和詳盡性。在處理和分析 PDF 文檔時,您可能還需要提取圖像。因此,在本文中,我們將演示如何在 Python 中以編程方式處理 PDF 文件和提取圖像。分步指南和代碼示例將演示整個圖像提取過程。

從 PDF 中提取圖像的 Python 庫

要從 PDF 文件中提取圖像,我們將使用 Aspose.Words for Python。它是一個功能強大且功能豐富的庫,用於創建和操作包括 PDF 和 DOCX 在內的文本文檔。您可以使用以下 pip 命令從 PyPI 安裝庫。

> pip install aspose-words

從 PDF 中提取圖像的步驟

Aspose.Words for Python 讓您可以通過幾個簡單的步驟從 PDF 文件中提取圖像。以下是如何使用 Aspose.Words for Python 從 PDF 中提取圖像的工作流程。

  • 從所需位置加載 PDF 文件。
  • 將 PDF 轉換為 DOCX 格式。
  • 處理 DOCX 版本的 PDF 並提取圖像
  • 將每個圖像作為文件保存到所需位置。

以下部分將演示如何將上述步驟轉換為 Python 代碼並從 PDF 中提取圖像。

在 Python 中從 PDF 中提取圖像

在圖片提取的過程中,我們會先將PDF文件轉換為DOCX格式。在 DOCX 文件中,圖像由形狀節點表示。因此,我們將處理每個形狀並從中提取圖像。

以下是使用 Python 從 PDF 中提取圖像的步驟。

  • 首先,使用 Document 類加載 PDF 文件。
  • 然後,將 PDF 保存為 DOCX 格式並加載 PDF 文件的 DOCX 版本。
  • 使用 Document.getchildnodes(NodeType.SHAPE, True) 方法將所有形狀檢索到對像中。
  • 遍歷形狀並對每個形狀節點執行以下操作:
    • 使用 asshape() 方法將形狀轉換為 Shape 類型。
    • 使用 Shape.hasimage() 方法檢查形狀是否有圖像。
    • 從形狀中提取圖像並使用 Shape.imagedata.save(string) 方法保存它。

以下代碼示例演示了使用 Python 從 PDF 文檔中提取圖像。

# 導入 Aspose.Words for Python 模塊
import aspose.words as aw

# 加載 PDF 文件並轉換為 Word DOCX 格式
pdf = aw.Document("document.pdf")
pdf.save("pdf.docx")

# 加載 PDF 的 DOCX 版本
doc = aw.Document("pdf.docx")

# 檢索所有形狀
shapes = doc.get_child_nodes(aw.NodeType.SHAPE, True)
imageIndex = 0

# 遍歷形狀
for shape in shapes :
    shape = shape.as_shape()
    if (shape.has_image) :

        # 設置圖片文件名
        imageFileName = f"Image.ExportImages.{imageIndex}_{aw.FileFormatUtil.image_type_to_extension(shape.image_data.image_type)}"

        # 保存圖片
        shape.image_data.save(imageFileName)
        imageIndex += 1

Python PDF 圖像提取庫 - 獲得免費許可證

您可以獲得免費的臨時許可證,以在不受評估限制的情況下從 PDF 中提取圖像。

結論

在分析 PDF 文檔時,還需要將圖像與文本一起提取。在本文中,您學習瞭如何使用 Python 從 PDF 中提取圖像。您可以簡單地安裝 Aspose.Words for Python 並將圖像提取集成到您的應用程序中。

探索 Aspose 的 PDF 圖像提取庫

Aspose.Words for Python 提供了一系列其他功能來操作文本文檔。您可以訪問 文檔 來探索有關該庫的更多信息。如果您有任何疑問,請隨時通過我們的 論壇 告訴我們。

也可以看看