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)文章
Python實(shí)戰(zhàn)之IQ測(cè)試系統(tǒng)的實(shí)現(xiàn)
通常,智商測(cè)試測(cè)驗(yàn)一個(gè)人在數(shù)字、空間、邏輯、詞匯、創(chuàng)造、記憶等方面的能力。本文將利用Python實(shí)現(xiàn)一個(gè)IQ測(cè)試系統(tǒng),感興趣的可以了解一下2022-09-09
Python實(shí)現(xiàn)系統(tǒng)交互(subprocess)
我們幾乎可以在任何操作系統(tǒng)上通過(guò)命令行指令與操作系統(tǒng)進(jìn)行交互,本文實(shí)現(xiàn)了Python系統(tǒng)交互,具有一定的參考價(jià)值,感興趣的可以了解一下2021-07-07
基于Python+Dify實(shí)現(xiàn)批量OCR識(shí)別的自動(dòng)化解決方案
在日常工作中,我們經(jīng)常會(huì)遇到大量圖片格式的PDF文件,這類(lèi)文件無(wú)法直接復(fù)制文本,手動(dòng)逐頁(yè)OCR識(shí)別效率極低,下面我們看看如何使用Python和Dify實(shí)現(xiàn)全自動(dòng)化解決這一問(wèn)題吧2025-12-12
使用Python實(shí)現(xiàn)跳一跳自動(dòng)跳躍功能
這篇文章主要介紹了使用Python實(shí)現(xiàn)跳一跳自動(dòng)跳躍功能,本文圖文并茂通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
使用Scrapy爬取動(dòng)態(tài)數(shù)據(jù)
今天小編就為大家分享一篇關(guān)于使用Scrapy爬取動(dòng)態(tài)數(shù)據(jù)的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
Python數(shù)據(jù)列表中的空補(bǔ)0的問(wèn)題解決
在Python中,如果你有一個(gè)包含空值的數(shù)據(jù)列表,你可以使用列表推導(dǎo)式或循環(huán)將這些空值替換為0,本文就來(lái)介紹一下如何解決,感興趣的可以了解一下2024-03-03
python讀出當(dāng)前時(shí)間精度到秒的代碼
在本文里小編給各位分享了一篇關(guān)于python怎么讀出當(dāng)前時(shí)間精度到秒的內(nèi)容,對(duì)此有需要的朋友們可以學(xué)習(xí)參考下。2019-07-07

