日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Python自動化辦公實戰:PDF文本提取技巧

來源: 責編: 時間:2023-11-21 09:39:17 278觀看
導讀PDF文件具有跨平臺的特點,可以在不同的操作系統和設備上保持一致的顯示效果。但是,PDF文件也有一些缺點,比如不易編輯、復制和搜索。如果我們想要從PDF文件中提取文本內容,該怎么辦呢?在本教程中,我們將介紹如何使用Python

PDF文件具有跨平臺的特點,可以在不同的操作系統和設備上保持一致的顯示效果。但是,PDF文件也有一些缺點,比如不易編輯、復制和搜索。如果我們想要從PDF文件中提取文本內容,該怎么辦呢?Qpn28資訊網——每日最新資訊28at.com

在本教程中,我們將介紹如何使用Python中的PyPDF2庫來提取PDF文件中的內嵌文字內容。PyPDF2是一個純Python的庫,可以讀取、分割、合并、裁剪和轉換PDF文件。它不需要安裝任何其他的依賴庫,也不需要調用外部的程序或服務。Qpn28資訊網——每日最新資訊28at.com

Qpn28資訊網——每日最新資訊28at.com

安裝PyPDF2庫

要使用PyPDF2庫,我們首先需要安裝它。我們可以使用pip命令來安裝,如下所示:Qpn28資訊網——每日最新資訊28at.com

pip install PyPDF2

如果安裝成功,我們可以在Python中導入PyPDF2模塊,如下所示:Qpn28資訊網——每日最新資訊28at.com

import PyPDF2

讀取PDF文件

要從PDF文件中提取文本內容,我們首先需要讀取PDF文件。我們可以使用PyPDF2.PdfReader類來創建一個PDF文件的讀取對象,然后傳入一個文件對象或一個文件路徑作為參數。例如,假設我們有一個名為sample.pdf的PDF文件,我們可以用以下代碼來讀取它:Qpn28資訊網——每日最新資訊28at.com

# 通過文件對象來讀取with open("sample.pdf", "rb") as f: # 以二進制模式打開文件    reader = PyPDF2.PdfReader(f) # 創建一個PdfFileReader對象# 通過文件路徑來讀取reader = PyPDF2.PdfReader("sample.pdf") # 創建一個PdfFileReader對象

注意,我們必須以二進制模式("rb")來打開PDF文件,否則會出現錯誤。Qpn28資訊網——每日最新資訊28at.com

獲取PDF文件的基本信息

在讀取了PDF文件之后,我們可以使用PdfReader對象的一些屬性和方法來獲取PDF文件的基本信息,例如頁數、作者、標題等。例如:Qpn28資訊網——每日最新資訊28at.com

# 獲取頁數num_pages = len(reader.pages) # 返回一個整數,表示PDF文件的總頁數print(f"該PDF文件共有{num_pages}頁")# 獲取作者author = reader.metadata.author # 返回一個字符串,表示PDF文件的作者信息print(f"該PDF文件的作者是{author}")# 獲取標題title = reader.metadata.title # 返回一個字符串,表示PDF文件的標題信息print(f"該PDF文件的標題是{title}")

提取單頁文本內容

要從單頁中提取文本內容,我們可以使用PdfReader對象的pages來獲取指定頁碼的頁面對象(PyPDF2.pdf.PageObject類),然后使用頁面對象的extract_text()方法來獲取頁面中的文本內容。例如:Qpn28資訊網——每日最新資訊28at.com

# 獲取第一頁的頁面對象page1 = reader.pages[0]# 傳入一個整數作為參數,表示頁碼(從0開始)# 提取第一頁的文本內容text1 = page1.extract_text() # 返回一個字符串,表示頁面中的文本內容# 打印第一頁的文本內容print(text1)

注意,extract_text()方法只能提取內嵌文字內容,不能提取圖像或其他元素。另外,提取出來的文本內容可能不完全符合原始格式,可能存在換行、空格、缺失等問題。Qpn28資訊網——每日最新資訊28at.com

提取多頁文本內容

要從多頁中提取文本內容,我們可以使用一個循環來遍歷PdfReader對象的每一頁,然后使用extract_text()方法來獲取每一頁的文本內容,并將它們拼接成一個完整的字符串。例如:Qpn28資訊網——每日最新資訊28at.com

# 創建一個空字符串,用于存儲所有頁面的文本內容text = ""# 遍歷每一頁for i in range(num_pages):    # 獲取當前頁的頁面對象    page = reader.pages[i]    # 提取當前頁的文本內容    page_text = page.extract_text()    # 將當前頁的文本內容添加到總字符串中    text += page_text# 打印所有頁面的文本內容print(text)

保存提取的文本內容

提取了PDF文件中的文本內容之后,我們可以將它保存到一個文本文件中,以便后續的處理或分析。我們可以使用Python的內置函數open()來創建一個文本文件對象,然后使用write()方法來寫入提取的文本內容。例如:Qpn28資訊網——每日最新資訊28at.com

# 創建一個名為output.txt的文本文件對象,以寫入模式打開with open("output.txt", "w", encoding="utf-8") as f: # 指定編碼為utf-8,避免亂碼    # 將提取的文本內容寫入到文件中    f.write(text)

注意,我們需要指定編碼為utf-8,以避免出現亂碼。Qpn28資訊網——每日最新資訊28at.com

如下是:sample.pdf和output.txt文件的部分截圖Qpn28資訊網——每日最新資訊28at.com

Qpn28資訊網——每日最新資訊28at.com

總結

在本教程中,我們介紹了如何使用Python中的PyPDF2庫來提取PDF文件中的內嵌文字內容。我們首先安裝了PyPDF2庫,并導入了PyPDF2模塊。然后,我們使用PyPDF2.PdfReader類來讀取PDF文件,并獲取了PDF文件的基本信息。接著,我們使用pages和extract_text()方法來提取單頁或多頁的文本內容,并將它們保存到一個文本文件中。通過這些操作,我們可以實現Python自動化辦公的一個功能,即從PDF文件中提取文本內容。Qpn28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-32016-0.htmlPython自動化辦公實戰:PDF文本提取技巧

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 探索 C++20 的新領域:深入理解 static 關鍵字和核心語言特性測試宏

下一篇: 17個酷爆了的開源Flutter應用程序以及一些Flutter學習資源

標簽:
  • 熱門焦點
  • 六大權益!華為8月服務日開啟:手機免費貼膜、維修免人工費

    8月5日消息,一年一度的華為開發者大會2023(Together)日前在松山湖拉開帷幕,與此同時,華為8月服務日也式開啟,到店可享六大專屬權益。華為用戶可在華為商城Ap
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫,還使用這些庫實現了一個流處理程序
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • JavaScript學習 -AES加密算法

    引言在當今數字化時代,前端應用程序扮演著重要角色,用戶的敏感數據經常在前端進行加密和解密操作。然而,這樣的操作在網絡傳輸和存儲中可能會受到惡意攻擊的威脅。為了確保數據
  • 2023年,我眼中的字節跳動

    此時此刻(2023年7月),字節跳動從未上市,也從未公布過任何官方的上市計劃;但是這并不妨礙它成為中國最受關注的互聯網公司之一。從2016-17年的抖音強勢崛起,到2018年的“頭騰
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了——貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 華為HarmonyOS 4升級計劃公布:首批34款機型今日開啟公測

    8月4日消息,今天下午華為正式發布了HarmonyOS 4系統,在更流暢的前提下,還帶來了不少新功能,UI設計也有變化,會讓手機煥然一新。華為宣布,首批機型將會在
  • 2納米決戰2025

    集微網報道 從三強爭霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來。無論是老牌勁旅臺積電、三星,還是誓言重回先進制程領先地位的英特爾,甚至初成立不久的新
  • AMD的AI芯片轉單給三星可能性不大 與臺積電已合作至2nm制程

    據 DIGITIMES 消息,英偉達 AI GPU 出貨逐季飆升,接下來 AMD MI 300 系列將在第 4 季底量產。而半導體業內人士表示,近日傳出 AMD 的 AI 芯片將轉單給
Top 主站蜘蛛池模板: 铁岭县| 兴和县| 齐河县| 九龙坡区| 南木林县| 北宁市| 宝丰县| 河东区| 天津市| 嵩明县| 大悟县| 馆陶县| 西安市| 大同县| 仁布县| 铅山县| 宁强县| 嘉祥县| 隆德县| 繁昌县| 名山县| 互助| 东乌珠穆沁旗| 大洼县| 鄂尔多斯市| 天等县| 陈巴尔虎旗| 赤壁市| 南雄市| 馆陶县| 乌恰县| 深水埗区| 偏关县| 壶关县| 洛隆县| 南涧| 松滋市| 防城港市| 武宁县| 班玛县| 湖南省|