翻譯|行業資訊|編輯:吉煒煒|2025-06-25 16:16:43.453|閱讀 120 次
概述:在 Python 中讀取 PDF 文檔是實現文檔自動化、內容分析和數據提取的基礎操作之一。本文將介紹如何使用 Spire.PDF for Python 實現用 Python 讀取 PDF 文檔。該庫提供簡單易用、功能強大的API,無需依賴第三方工具。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在 Python 中讀取 PDF 文檔是實現文檔自動化、內容分析和數據提取的基礎操作之一。無論你處理的是合同、報告、發票,還是科研論文,能夠通過代碼訪問 PDF 內容,不僅能節省時間,還能帶來更高效的處理流程。
要在 Python 中準確提取 PDF 的文本、表格、圖像和元數據,一個穩定、功能完善的 PDF 操作庫是關鍵。本文將介紹如何使用 Spire.PDF for Python 實現用 Python 讀取 PDF 文檔。該庫提供簡單易用、功能強大的API,無需依賴第三方工具。
加入Spire技術交流QQ群(125237868),與更多開發者一起提升文檔開發技能。
Spire.PDF for Python 是一款功能全面的 PDF 讀取庫,支持通過 Python 代碼提取 PDF 中的文本、表格、圖像和文檔信息。其主要特點包括:
非常適合希望快速集成 PDF 數據讀取功能的開發者。
使用 pip 安裝 Spire.PDF for Python:
pip install spire.pdf或安裝適用于輕量任務的 :
pip install spire.pdf.free
在讀取 PDF 內容之前,需先將其加載到內存中。Spire.PDF 支持從文件路徑或內存字節流加載文檔,非常適用于處理網頁上傳或 API 返回的 PDF 數據。
使用 PdfDocument.LoadFromFile() 方法從本地讀取 PDF 文件:
from spire.pdf import PdfDocument # 創建一個 PdfDocument 實例 pdf = PdfDocument() # 加載一個 PDF 文檔 pdf.LoadFromFile("sample.pdf")
如果不希望將文件保存到磁盤,可以先讀取字節數據,并使用 Stream 對象加載:
from spire.pdf import PdfDocument, Stream # 將 PDF 文件讀取為字節數組 with open("sample.pdf", "rb") as f: byte_data = f.read() # 使用字節數組創建一個流對象 pdfStream = Stream(byte_data) # 使用流對象創建一個 PdfDocument 實例 pdf = PdfDocument(pdfStream)
提取 PDF 中的文本內容是最常見的需求之一。Spire.PDF 提供簡單方法,可獲取整篇文檔或指定頁面中的所有可見文本。
遍歷每一頁,使用 PdfTextExtractor.ExtractText() 提取內容:
from spire.pdf import PdfDocument, PdfTextExtractor, PdfTextExtractOptions # 創建一個 PdfDocument 實例 pdf = PdfDocument() # 加載一個 PDF 文檔 pdf.LoadFromFile("sample.pdf") all_text = "" # 遍歷每一頁 for pageIndex in range(pdf.Pages.Count): page = pdf.Pages.get_Item(pageIndex) # 創建一個 PdfTextExtractor 實例 text_extractor = PdfTextExtractor(page) # 配置提取選項 options = PdfTextExtractOptions() options.IsExtractAllText = True options.IsSimpleExtraction = True # 從當前頁面提取文本 all_text += text_extractor.ExtractText(options) # 打印提取到的全部文本 print(all_text)
如只需獲取頁面中某一特定區域的文本,可通過設置坐標區域實現:
from spire.pdf import RectangleF, PdfDocument, PdfTextExtractor, PdfTextExtractOptions # 加載 PDF 文件 pdf = PdfDocument() pdf.LoadFromFile("sample.pdf") # 獲取第一頁 page = pdf.Pages.get_Item(0) # 創建一個 PdfTextExtractor 實例 textExtractor = PdfTextExtractor(page) # 設置提取區域,通過配置 PdfTextExtractOptions options = PdfTextExtractOptions() area = RectangleF.FromLTRB(0, 200, page.Size.Width, 270) # x, y, width, height options.ExtractArea = area options.IsSimpleExtraction = True # 從指定區域提取文本 text = textExtractor.ExtractText(options) print(text)
PDF 中的表格廣泛用于財務、賬單等場景。借助 Spire.PDF 提供的表格提取器,你可以精準讀取頁面中的表格內容。
from spire.pdf import PdfDocument, PdfTableExtractor # 加載 PDF 文件 pdf = PdfDocument() pdf.LoadFromFile("sample.pdf") # 創建一個 PdfTableExtractor 實例 table_extractor = PdfTableExtractor(pdf) # 從第一頁提取表格 tables = table_extractor.ExtractTable(0) for table in tables: # 獲取行數和列數 row_count = table.GetRowCount() column_count = table.GetColumnCount() # 遍歷每一行 for i in range(row_count): table_row = [] # 遍歷每一列 for j in range(column_count): # 獲取單元格文本 cell_text = table.GetText(i, j) table_row.append(cell_text) print(table_row)
PDF 文件常含有徽標、插圖或掃描圖像。Spire.PDF 支持提取并保存這些嵌入圖像,方便后續使用或歸檔。
from spire.pdf import PdfDocument, PdfImageHelper # 加載 PDF 文件 pdf = PdfDocument() pdf.LoadFromFile("sample.pdf") # 獲取第一頁 page = pdf.Pages.get_Item(0) # 創建一個 PdfImageHelper 對象 image_helper = PdfImageHelper() # 獲取頁面上的圖像信息 images_info = image_helper.GetImagesInfo(page) # 將頁面中的圖像保存為圖像文件 for i in range(len(images_info)): images_info[i].Image.Save("output/Images/image" + str(i) + ".png")
你可以通過 Spire.PDF 獲取文檔的元數據信息,如標題、作者、主題和關鍵詞等,有助于文檔管理與歸檔。
from spire.pdf import PdfDocument # 加載 PDF 文件 pdf = PdfDocument() pdf.LoadFromFile("sample.pdf") # 獲取文檔屬性 properties = pdf.DocumentInformation print("標題: " + properties.Title) print("作者: " + properties.Author) print("主題: " + properties.Subject) print("關鍵詞: " + properties.Keywords)
可以。Spire.PDF for Python 提供了讀取文本、提取表格、圖像和元數據的完整 API,支持結構化內容的精準解析。
當然可以。只需通過 pip 安裝,就能在 Jupyter Notebook 中調用 API 讀取 PDF 文件、提取文本與圖像等內容。
加載文檔后,使用 PdfTextExtractor.ExtractText() 方法遍歷每一頁即可提取所有可見文本。
可以。通過 LoadFromStream() 方法可直接讀取字節數據,非常適合處理網頁上傳或接口返回的臨時文件。
借助 Spire.PDF for Python,你可以輕松完成 PDF 文件的讀取和處理任務,包括文本、表格、圖像和元數據的提取,還可將 PDF 轉換為可分析的文本內容,是實現數據采集與文檔自動化的理想方案。
————————————————————————————————————————
關于慧都科技:
慧都科技是一家行業數字化解決方案公司,長期專注于軟件、油氣與制造行業。公司基于深入的業務理解與管理洞察,以系統化的業務建模驅動技術落地,幫助企業實現智能化運營與長期競爭優勢。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控。慧都科技E-iceblue的官方授權代理商,提供E-iceblue系列產品免費試用,咨詢,正版銷售等于一體的專業化服務。E-iceblue旗下Spire系列產品是國產文檔處理領域的優秀產品,支持國產化,幫助企業高效構建文檔處理的應用程序。
歡迎下載|體驗更多E-iceblue產品
獲取更多信息請咨詢 ;技術交流Q群(125237868)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網