最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

引言

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

使用工具

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

你可以通過(guò)在終端運(yùn)行以下命令來(lái)從PyPI安裝Spire.PDF for Python:

pip install Spire.PDF

Python從PDF的特定頁(yè)面中提取圖片

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

  • 創(chuàng)建 PdfDocument 類(lèi)的實(shí)例并使用 PdfDocument.LoadFromFile() 方法加載 PDF 文檔。
  • 使用PdfDocument.Pages[page_index]屬性訪(fǎng)問(wèn)目標(biāo)頁(yè)面,這里的page_index表示頁(yè)面的索引,從0開(kāi)始計(jì)數(shù)。
  • 創(chuàng)建 PdfImageHelper 實(shí)例。
  • 使用 PdfImageHelper.GetImagesInfo(page) 方法獲取目標(biāo)頁(yè)面中的圖片信息。
  • 循環(huán)遍歷獲取結(jié)果,使用 PdfImageInfo.Image.Save() 方法將每張圖片保存為獨(dú)立的圖片文件。
from spire.pdf.common import *
from spire.pdf import *
import os
 
def extract_images_from_pdf_page(pdf_path, page_index, output_dir):
    """
    從 PDF 文件的指定頁(yè)面中提取圖片,并將其保存到指定的輸出目錄中。
    
    參數(shù):
        pdf_path (str): PDF 文件的路徑。
        page_index (int): 要提取圖片的頁(yè)面的索引值。
        output_dir (str): 輸出圖片文件的目錄。
    """
    # 創(chuàng)建 PdfDocument 實(shí)例并加載 PDF 文件
    doc = PdfDocument()
    doc.LoadFromFile(pdf_path)
 
    # 獲取需要提取圖片的目標(biāo)頁(yè)面
    page = doc.Pages[page_index]
 
    # 創(chuàng)建 PdfImageHelper 實(shí)例
    image_helper = PdfImageHelper()
 
    # 獲取目標(biāo)頁(yè)面的圖片信息
    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文檔中提取圖片

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

  • 創(chuàng)建 PdfDocument 實(shí)例并使用 PdfDocument.LoadFromFile() 方法加載 PDF 文檔。
  • 創(chuàng)建 PdfImageHelper 實(shí)例。
  • 循環(huán)遍歷文檔中的頁(yè)面。
  • 使用 PdfImageHelper.GetImagesInfo(page) 方法獲取每個(gè)頁(yè)面中的圖片信息。
  • 遍歷獲取結(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 實(shí)例并加載 PDF 文件
    doc = PdfDocument()
    doc.LoadFromFile(pdf_path)
 
    # 創(chuàng)建 PdfImageHelper 實(shí)例
    image_helper = PdfImageHelper()
 
    image_count = 1
    # 循環(huán)遍歷每個(gè)頁(yè)面
    for page_index in range(doc.Pages.Count):
        page = doc.Pages[page_index]
        # 獲取頁(yè)面的圖片信息
        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 實(shí)例并使用 PdfDocument.LoadFromFile() 方法加載 PDF 文檔。
  • 創(chuàng)建 PdfImageHelper 實(shí)例。
  • 循環(huán)遍歷文檔中的頁(yè)面。
  • 使用 PdfImageHelper.GetImagesInfo(page) 方法獲取每個(gè)頁(yè)面中的圖片信息。
  • 遍歷獲取結(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 實(shí)例并加載 PDF 文件
    doc = PdfDocument()
    doc.LoadFromFile(pdf_path)
 
    # 創(chuàng)建 PdfImageHelper 實(shí)例
    image_helper = PdfImageHelper()
 
    # 循環(huán)遍歷每個(gè)頁(yè)面
    for page_index in range(doc.Pages.Count):
        page = doc.Pages[page_index]
        # 獲取頁(yè)面的圖片信息
        image_infos = image_helper.GetImagesInfo(page)
 
        # 打印圖片的坐標(biāo)位置、寬度和高度
        for image_index, image_info in enumerate(image_infos):
            print(f"第 {page_index + 1} 頁(yè), 第 {image_index + 1} 個(gè)圖片:")
            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)、寬度和高度等信息的全部?jī)?nèi)容。

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

相關(guān)文章

  • python錯(cuò)誤調(diào)試及單元文檔測(cè)試過(guò)程解析

    python錯(cuò)誤調(diào)試及單元文檔測(cè)試過(guò)程解析

    這篇文章主要介紹了python錯(cuò)誤調(diào)試及單元文檔測(cè)試過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • win10環(huán)境下python3.5安裝步驟圖文教程

    win10環(huán)境下python3.5安裝步驟圖文教程

    本文通過(guò)圖文并茂的形式給大家介紹了win10環(huán)境下python3.5安裝步驟,需要的朋友可以參考下
    2017-02-02
  • Python反射和內(nèi)置方法重寫(xiě)操作詳解

    Python反射和內(nèi)置方法重寫(xiě)操作詳解

    這篇文章主要介紹了Python反射和內(nèi)置方法重寫(xiě),結(jié)合實(shí)例形式較為詳細(xì)的分析了Python反射概念、原理及內(nèi)置方法重寫(xiě)相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • Python圖像處理庫(kù)scikit-image的使用方法詳解

    Python圖像處理庫(kù)scikit-image的使用方法詳解

    在計(jì)算機(jī)視覺(jué)與圖像分析領(lǐng)域,Python已成為事實(shí)上的標(biāo)準(zhǔn)語(yǔ)言,scikit-image是SciPy生態(tài)的一部分,構(gòu)建在NumPy、SciPy、matplotlib基礎(chǔ)之上,旨在為科學(xué)計(jì)算和機(jī)器學(xué)習(xí)中的圖像處理提供高質(zhì)量、純Python實(shí)現(xiàn)的算法,本文將從入門(mén)到實(shí)戰(zhàn),深入講解scikit-image的方方面面
    2025-11-11
  • Python使用Selenium時(shí)遇到網(wǎng)頁(yè)<body>劃不動(dòng)的問(wèn)題解決方法

    Python使用Selenium時(shí)遇到網(wǎng)頁(yè)<body>劃不動(dòng)的問(wèn)題解決方法

    如果在使用 Selenium 時(shí)遇到網(wǎng)頁(yè)的 <body> 劃不動(dòng)的問(wèn)題,這通常是因?yàn)轫?yè)面的滾動(dòng)機(jī)制(例如,可能使用了一個(gè)具有固定高度的容器或自定義的滾動(dòng)條)導(dǎo)致無(wú)法通過(guò)簡(jiǎn)單的 JavaScript 實(shí)現(xiàn)滾動(dòng),可以通過(guò)以下方法來(lái)解決該問(wèn)題
    2024-10-10
  • Python xlrd讀取excel日期類(lèi)型的2種方法

    Python xlrd讀取excel日期類(lèi)型的2種方法

    這篇文章主要介紹了Python xlrd讀取excel日期類(lèi)型的2種方法,本文同時(shí)講解了xlrd讀取excel某個(gè)單元格的方法,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)可視化Excel導(dǎo)入MySQL工具的完整代碼

    Python實(shí)現(xiàn)可視化Excel導(dǎo)入MySQL工具的完整代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用Python開(kāi)發(fā)一個(gè)可視化桌面工具,無(wú)需命令行操作,點(diǎn)點(diǎn)鼠標(biāo)就能實(shí)現(xiàn)Excel文件一鍵導(dǎo)入MySQL,感興趣的小伙伴可以了解下
    2026-02-02
  • Python函數(shù)的參數(shù)列表解析

    Python函數(shù)的參數(shù)列表解析

    這篇文章主要介紹了Python函數(shù)的參數(shù)列表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 使用grappelli為django admin后臺(tái)添加模板

    使用grappelli為django admin后臺(tái)添加模板

    本文介紹了一款非常流行的Django模板系統(tǒng)--grappelli,以及如何給Django的admin后臺(tái)添加模板,非常的實(shí)用,這里推薦給大家。
    2014-11-11
  • 詳解numpy的argmax的具體使用

    詳解numpy的argmax的具體使用

    這篇文章主要介紹了詳解numpy的argmax的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論

随州市| 什邡市| 祁阳县| 林周县| 黔西县| 万荣县| 二手房| 桂平市| 通辽市| 凤凰县| 广安市| 县级市| 留坝县| 温宿县| 贞丰县| 兴城市| 望谟县| 永昌县| 曲沃县| 龙口市| 五家渠市| 石棉县| 乐亭县| 渝北区| 洪湖市| 宽甸| 原平市| 广西| 惠州市| 中牟县| 灵宝市| 黄梅县| 安福县| 博野县| 务川| 兴文县| 胶南市| 定陶县| 汽车| 会理县| 木兰县|