Python實(shí)現(xiàn)讀取PDF中的文本,圖片與文檔屬性
在日常的數(shù)據(jù)采集、文檔歸檔與信息挖掘過(guò)程中,PDF格式因其版式固定、內(nèi)容穩(wěn)定而被廣泛使用。Python 開(kāi)發(fā)者若希望實(shí)現(xiàn) PDF 內(nèi)容的自動(dòng)化提取,選擇一個(gè)易用且功能完善的庫(kù)至關(guān)重要。本文將介紹如何用Python實(shí)現(xiàn) PDF文本讀取、圖片提取 以及 文檔屬性讀取 三大核心操作,適用于信息抽取、電子檔案處理等場(chǎng)景。
本文使用免費(fèi)的 Free Spire.PDF for Python,pip安裝:pip install spire.pdf.free
Python讀取PDF文本
在PDF中提取可識(shí)別的文字內(nèi)容,是信息處理的基礎(chǔ)需求。Spire.PDF 提供了 PdfTextExtractor 類(lèi),可逐頁(yè)提取文本,并通過(guò)參數(shù)控制提取方式。
操作說(shuō)明:
- 創(chuàng)建 PdfDocument 實(shí)例并加載PDF;
- 遍歷每一頁(yè),構(gòu)建 PdfTextExtractor;
- 設(shè)置提取選項(xiàng),如是否簡(jiǎn)化布局;
- 累加獲取到的文本內(nèi)容。
代碼示例:
from spire.pdf import PdfDocument, PdfTextExtractor, PdfTextExtractOptions # 創(chuàng)建 PdfDocument 實(shí)例并加載文檔 pdf = PdfDocument() pdf.LoadFromFile("sample.pdf") all_text = "" # 遍歷所有頁(yè)面 for pageIndex in range(pdf.Pages.Count): page = pdf.Pages.get_Item(pageIndex) # 創(chuàng)建文本提取器 text_extractor = PdfTextExtractor(page) # 設(shè)置提取選項(xiàng) options = PdfTextExtractOptions() options.IsExtractAllText = True options.IsSimpleExtraction = True # 提取文本并累加 all_text += text_extractor.ExtractText(options) # 輸出全部文本內(nèi)容 print(all_text)
PDF文檔:
讀取的PDF文本:
Python讀取PDF圖片
PDF中的圖片可能包含插圖、圖標(biāo)、水印等重要信息。Spire.PDF 提供了 PdfImageHelper 工具類(lèi),可提取頁(yè)面中嵌入的圖像并保存為文件。
操作說(shuō)明:
- 加載PDF文檔并獲取頁(yè)面;
- 使用 PdfImageHelper.GetImagesInfo() 獲取圖片信息;
- 遍歷并保存提取的圖片對(duì)象。
代碼示例:
from spire.pdf import PdfDocument, PdfImageHelper # 加載PDF文件 pdf = PdfDocument() pdf.LoadFromFile("sample.pdf") # 獲取第一頁(yè) page = pdf.Pages.get_Item(0) # 創(chuàng)建圖片助手 image_helper = PdfImageHelper() # 獲取頁(yè)面中的圖片信息 images_info = image_helper.GetImagesInfo(page) # 保存圖片為本地文件 for i in range(len(images_info)): images_info[i].Image.Save("output/Images/image" + str(i) + ".png")
讀取的PDF圖片:
Python讀取PDF文檔屬性
除了內(nèi)容本身,PDF還可能包含元數(shù)據(jù)(如標(biāo)題、作者、關(guān)鍵詞等),便于進(jìn)行文檔分類(lèi)與檢索。Spire.PDF 支持直接讀取這些信息。
操作說(shuō)明:
- 加載PDF文件;
- 通過(guò) DocumentInformation 屬性訪問(wèn)文檔元數(shù)據(jù);
- 打印或記錄相關(guān)屬性值。
代碼示例:
from spire.pdf import PdfDocument # 加載PDF文件 pdf = PdfDocument() pdf.LoadFromFile("sample.pdf") # 獲取文檔屬性信息 properties = pdf.DocumentInformation print("標(biāo)題: " + properties.Title) print("作者: " + properties.Author) print("主題: " + properties.Subject) print("關(guān)鍵詞: " + properties.Keywords)
讀取的PDF文檔屬性:
總結(jié)
使用 Free Spire.PDF for Python,可以輕松完成以下三類(lèi)典型的 PDF 信息提取操作:
- 讀取PDF文本:逐頁(yè)提取文字內(nèi)容,適用于全文分析、搜索系統(tǒng)等;
- 讀取PDF圖片:提取嵌入圖像用于歸檔、識(shí)別或后續(xù)處理;
- 讀取PDF文檔屬性:訪問(wèn)標(biāo)題、作者、關(guān)鍵詞等元信息,輔助分類(lèi)索引。
以上功能均可在本地環(huán)境中快速部署,適合構(gòu)建輕量級(jí) PDF 處理工具或集成至業(yè)務(wù)系統(tǒng)中。
到此這篇關(guān)于Python實(shí)現(xiàn)讀取PDF中的文本,圖片與文檔屬性的文章就介紹到這了,更多相關(guān)Python讀取PDF內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
對(duì)python .txt文件讀取及數(shù)據(jù)處理方法總結(jié)
下面小編就為大家分享一篇對(duì)python .txt文件讀取及數(shù)據(jù)處理方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Python實(shí)現(xiàn)刪除windows下的長(zhǎng)路徑文件
這篇文章主要為大家詳細(xì)介紹一下如何利用Python語(yǔ)言實(shí)現(xiàn)刪除windows下的長(zhǎng)路徑文件功能,文中的示例代碼講解詳細(xì),具有一定參考借鑒價(jià)值,感興趣的可以了解一下2022-07-07python 初始化一個(gè)定長(zhǎng)的數(shù)組實(shí)例
今天小編就為大家分享一篇python 初始化一個(gè)定長(zhǎng)的數(shù)組實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python函數(shù)局部變量、全局變量、遞歸知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了關(guān)于python函數(shù)局部變量、全局變量、遞歸知識(shí)點(diǎn),有興趣的朋友們學(xué)習(xí)參考下。2019-11-11pytorch實(shí)現(xiàn)用CNN和LSTM對(duì)文本進(jìn)行分類(lèi)方式
今天小編就為大家分享一篇pytorch實(shí)現(xiàn)用CNN和LSTM對(duì)文本進(jìn)行分類(lèi)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python數(shù)據(jù)分析之堆疊數(shù)組函數(shù)示例總結(jié)
這篇文章主要為大家介紹了Python數(shù)據(jù)分析之堆疊數(shù)組函數(shù)示例總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02