欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python從PDF中提取圖片和圖片信息(坐標(biāo)、寬度和高度等)

 更新時間:2025年02月24日 11:13:31   作者:nuclear2011  
PDF文件作為一種廣泛使用的電子文檔格式,不僅包含文字信息,還可能包含各種圖片、圖表等視覺元素,在某些場景下,我們可能需要從PDF文件中提取這些圖片,用于其他用途,這篇博客將探討如何使用Python從PDF中提取圖片以及圖片的相關(guān)信息如坐標(biāo)、寬度和高度等

引言

PDF文件作為一種廣泛使用的電子文檔格式,不僅包含文字信息,還可能包含各種圖片、圖表等視覺元素。在某些場景下,我們可能需要從PDF文件中提取這些圖片,用于其他用途,比如插入到演示文稿中,或者進行進一步的編輯和處理。手動從PDF中提取圖片是一項耗時的工作,尤其是當(dāng)需要處理大量PDF文檔時。而使用Python自動化這一過程,可以大幅節(jié)省時間和精力。這篇博客將探討如何使用Python從PDF中提取圖片以及圖片的相關(guān)信息如坐標(biāo)、寬度和高度等。

使用工具

本文使用的是Spire.PDF for Python庫來實現(xiàn)從PDF中提取圖片和圖片信息。

你可以通過在終端運行以下命令來從PyPI安裝Spire.PDF for Python:

pip install Spire.PDF

Python從PDF的特定頁面中提取圖片

要從PDF的特定頁面中提取圖片,首先需要使用PdfDocument.Pages[page_index]屬性訪問目標(biāo)頁面。之后,使用PdfImageHelper.GetImagesInfo(page) 方法獲取該頁面上的圖片信息。最后使用PdfImageInfo.Image.Save() 方法將每個圖片保存為獨立的圖片文件。具體步驟如下:

  • 創(chuàng)建 PdfDocument 類的實例并使用 PdfDocument.LoadFromFile() 方法加載 PDF 文檔。
  • 使用PdfDocument.Pages[page_index]屬性訪問目標(biāo)頁面,這里的page_index表示頁面的索引,從0開始計數(shù)。
  • 創(chuàng)建 PdfImageHelper 實例。
  • 使用 PdfImageHelper.GetImagesInfo(page) 方法獲取目標(biāo)頁面中的圖片信息。
  • 循環(huán)遍歷獲取結(jié)果,使用 PdfImageInfo.Image.Save() 方法將每張圖片保存為獨立的圖片文件。
from spire.pdf.common import *
from spire.pdf import *
import os
 
def extract_images_from_pdf_page(pdf_path, page_index, output_dir):
    """
    從 PDF 文件的指定頁面中提取圖片,并將其保存到指定的輸出目錄中。
    
    參數(shù):
        pdf_path (str): PDF 文件的路徑。
        page_index (int): 要提取圖片的頁面的索引值。
        output_dir (str): 輸出圖片文件的目錄。
    """
    # 創(chuàng)建 PdfDocument 實例并加載 PDF 文件
    doc = PdfDocument()
    doc.LoadFromFile(pdf_path)
 
    # 獲取需要提取圖片的目標(biāo)頁面
    page = doc.Pages[page_index]
 
    # 創(chuàng)建 PdfImageHelper 實例
    image_helper = PdfImageHelper()
 
    # 獲取目標(biāo)頁面的圖片信息
    image_infos = image_helper.GetImagesInfo(page)
 
    image_count = 1
    # 提取并保存圖片
    for image_index in range(len(image_infos)):
        # 指定輸出文件名
        output_file = os.path.join(output_dir, f"Image-{image_count}.png")
        # 將圖片保存為圖片文件
        image_infos[image_index].Image.Save(output_file)
        image_count += 1
 
    doc.Close()
 
# 使用示例
extract_images_from_pdf_page("示例.pdf", 1, "C:/Users/Administrator/Desktop/圖片")

Python從PDF文檔中提取圖片

要從整個PDF文檔中提取圖片,只需要循環(huán)遍歷文檔中的頁面,然后重復(fù)上面的步驟,從每個頁面上提取圖片信息,最后將圖片保存為獨立的圖片文件即可。具體步驟如下:

  • 創(chuàng)建 PdfDocument 實例并使用 PdfDocument.LoadFromFile() 方法加載 PDF 文檔。
  • 創(chuàng)建 PdfImageHelper 實例。
  • 循環(huán)遍歷文檔中的頁面。
  • 使用 PdfImageHelper.GetImagesInfo(page) 方法獲取每個頁面中的圖片信息。
  • 遍歷獲取結(jié)果,使用 PdfImageInfo.Image.Save() 方法將每張圖片保存為圖片文件。
from spire.pdf.common import *
from spire.pdf import *
 
def extract_images_from_pdf(pdf_path, output_dir):
    """
    從 PDF 文件中提取所有圖片,并將其保存到指定的輸出目錄中。
    
    參數(shù):
        pdf_path (str): 輸入 PDF 文件的路徑。
        output_dir (str): 輸出圖片文件的目錄。
    """
    # 創(chuàng)建 PdfDocument 實例并加載 PDF 文件
    doc = PdfDocument()
    doc.LoadFromFile(pdf_path)
 
    # 創(chuàng)建 PdfImageHelper 實例
    image_helper = PdfImageHelper()
 
    image_count = 1
    # 循環(huán)遍歷每個頁面
    for page_index in range(doc.Pages.Count):
        page = doc.Pages[page_index]
        # 獲取頁面的圖片信息
        image_infos = image_helper.GetImagesInfo(page)
 
        # 提取并保存圖片
        for image_index in range(len(image_infos)):
            # 指定輸出文件名
            output_file = os.path.join(output_dir, f"Image-{image_count}.png")
            # 將圖片保存為圖片文件
            image_infos[image_index].Image.Save(output_file)
            image_count += 1
 
    doc.Close()
 
# 使用示例
extract_images_from_pdf("示例.pdf", "C:/Users/Administrator/Desktop/圖片")

Python從PDF中提取圖片的坐標(biāo)、寬度和高度等信息

要提取 PDF 文件中圖片的信息,例如位置(X和Y坐標(biāo))、寬度和高度,可以使用 PdfImageInfo.Bounds.X、PdfImageInfo.Bounds.Y、PdfImageInfo.Bounds.Width 和 PdfImageInfo.Bounds.Height 屬性。具體步驟如下:

  • 創(chuàng)建 PdfDocument 實例并使用 PdfDocument.LoadFromFile() 方法加載 PDF 文檔。
  • 創(chuàng)建 PdfImageHelper 實例。
  • 循環(huán)遍歷文檔中的頁面。
  • 使用 PdfImageHelper.GetImagesInfo(page) 方法獲取每個頁面中的圖片信息。
  • 遍歷獲取結(jié)果,使用 PdfImageInfo.Bounds.X、PdfImageInfo.Bounds.Y、PdfImageInfo.Bounds.Width 和 PdfImageInfo.Bounds.Height 屬性獲取圖片的坐標(biāo)、寬度和高度。
from spire.pdf.common import *
from spire.pdf import *
 
def print_pdf_image_info(pdf_path):
    """
    打印 PDF 文件中圖片的坐標(biāo)、寬度和高度。
    
    參數(shù):
        pdf_path (str): 輸入 PDF 文件的路徑。
    """
    # 創(chuàng)建 PdfDocument 實例并加載 PDF 文件
    doc = PdfDocument()
    doc.LoadFromFile(pdf_path)
 
    # 創(chuàng)建 PdfImageHelper 實例
    image_helper = PdfImageHelper()
 
    # 循環(huán)遍歷每個頁面
    for page_index in range(doc.Pages.Count):
        page = doc.Pages[page_index]
        # 獲取頁面的圖片信息
        image_infos = image_helper.GetImagesInfo(page)
 
        # 打印圖片的坐標(biāo)位置、寬度和高度
        for image_index, image_info in enumerate(image_infos):
            print(f"第 {page_index + 1} 頁, 第 {image_index + 1} 個圖片:")
            print(f"  圖片位置: ({image_info.Bounds.X}, {image_info.Bounds.Y})")
            print(f"  圖片大小: {image_info.Bounds.Width} x {image_info.Bounds.Height}")
 
    doc.Close()
 
# 使用示例
print_pdf_image_info("示例.pdf")

以上就是使用Python從PDF中提取圖片和圖片坐標(biāo)、寬度和高度等信息的全部內(nèi)容。

到此這篇關(guān)于使用Python從PDF中提取圖片和圖片信息(坐標(biāo)、寬度和高度等)的文章就介紹到這了,更多相關(guān)Python PDF提取圖片信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python進程池的簡單實現(xiàn)

    python進程池的簡單實現(xiàn)

    本文主要介紹了python進程池的簡單實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python 普通克里金(Kriging)法的實現(xiàn)

    python 普通克里金(Kriging)法的實現(xiàn)

    這篇文章主要介紹了python 普通克里金(Kriging)法的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python自動發(fā)送郵件的方法實例總結(jié)

    Python自動發(fā)送郵件的方法實例總結(jié)

    這篇文章主要介紹了Python自動發(fā)送郵件的方法,結(jié)合實例形式總結(jié)分析了Python使用smtplib和email模塊發(fā)送郵件的相關(guān)使用技巧與操作注意事項,需要的朋友可以參考下
    2018-12-12
  • Python將文本去空格并保存到txt文件中的實例

    Python將文本去空格并保存到txt文件中的實例

    今天小編就為大家分享一篇Python將文本去空格并保存到txt文件中的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python使用str & repr轉(zhuǎn)換字符串

    python使用str & repr轉(zhuǎn)換字符串

    str() 是將 數(shù)值 轉(zhuǎn)成字符串 repr() 是將一個對象 轉(zhuǎn)成字符串 顯示 看明白了么:str()是將一個對象轉(zhuǎn)化成str對象 repr()是將一個對象可視化,使用字符串輸出,使編程人員看到其的內(nèi)部結(jié)構(gòu)
    2016-10-10
  • Python基礎(chǔ)之文本常量與字符串模板

    Python基礎(chǔ)之文本常量與字符串模板

    這篇文章主要介紹了Python基礎(chǔ)之文本常量與字符串模板,文中有非常詳細的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • python 實現(xiàn)調(diào)用子文件下的模塊方法

    python 實現(xiàn)調(diào)用子文件下的模塊方法

    今天小編就為大家分享一篇python 實現(xiàn)調(diào)用子文件下的模塊方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python實現(xiàn)復(fù)制整個目錄的方法

    python實現(xiàn)復(fù)制整個目錄的方法

    這篇文章主要介紹了python實現(xiàn)復(fù)制整個目錄的方法,涉及Python中shutil模塊的相關(guān)操作技巧,需要的朋友可以參考下
    2015-05-05
  • Python類的繼承用法示例

    Python類的繼承用法示例

    這篇文章主要介紹了Python類的繼承用法,結(jié)合實例形式分析了Python類的定義、繼承等相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Python 字符串與數(shù)字輸出方法

    Python 字符串與數(shù)字輸出方法

    今天小編小編就為大家分享一篇Python 字符串與數(shù)字輸出方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07

最新評論