亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python利用PyPDF2庫(kù)實(shí)現(xiàn)輕松提取PDF文本

 更新時(shí)間:2023年09月17日 08:57:27   作者:Python數(shù)據(jù)開(kāi)發(fā)  
ython中的PyPDF2庫(kù)是一個(gè)非常有用的工具,無(wú)論您是需要分析PDF文檔中的內(nèi)容還是需要在文檔中搜索特定的信息,PyPDF2都可以幫助您輕松實(shí)現(xiàn)這些任務(wù),下面我們就來(lái)學(xué)習(xí)一下如何利用PyPDF2提取PDF文本吧

當(dāng)需要從PDF文件中提取文本時(shí),Python中的PyPDF2庫(kù)是一個(gè)非常有用的工具。無(wú)論您是需要分析PDF文檔中的內(nèi)容還是需要在文檔中搜索特定的信息,PyPDF2都可以幫助您輕松實(shí)現(xiàn)這些任務(wù)。

在本文中,我們將探討如何使用PyPDF2庫(kù)提取PDF文件中的文本,并提供一些示例代碼來(lái)幫助您入門(mén)。

安裝PyPDF2庫(kù)

首先,您需要安裝PyPDF2庫(kù)。您可以使用pip來(lái)安裝它:

pip install PyPDF2

打開(kāi)PDF文件,并讀取內(nèi)容

讓我們從一個(gè)簡(jiǎn)單的示例開(kāi)始。假設(shè)我們有一個(gè)名為"sample.pdf"的PDF文件,并且我們想要提取其中的文本內(nèi)容。

import PyPDF2
# 打開(kāi)PDF文件
pdf_file = open('YOLOv1.pdf', 'rb')
# 創(chuàng)建一個(gè)PDF對(duì)象
pdf_reader = PyPDF2.PdfReader(pdf_file)
# 獲取PDF文件中的頁(yè)面數(shù)量
num_pages = len(pdf_reader.pages)
# 創(chuàng)建一個(gè)空字符串,用于存儲(chǔ)提取的文本
text = ""
# 循環(huán)遍歷每一頁(yè)并提取文本
for page_num in range(num_pages):
    page = pdf_reader.pages[page_num]
    text += page.extract_text()
# 關(guān)閉PDF文件
pdf_file.close()
# 打印提取的文本
print(text)

以上代碼將打開(kāi)名為"YOLOv1.pdf"的PDF文件,遍歷每一頁(yè)并將文本內(nèi)容提取到一個(gè)字符串中。最后,它會(huì)打印提取的文本。

提取結(jié)果

高級(jí)用法

除了基本的文本提取,PyPDF2還提供了其他功能,例如合并多個(gè)PDF文件、旋轉(zhuǎn)頁(yè)面、添加書(shū)簽等。讓我們?cè)敿?xì)討論一些高級(jí)用法,并提供相應(yīng)的代碼示例。

合并多個(gè)PDF文件

有時(shí),您可能需要將多個(gè)PDF文件合并成一個(gè)文件。PyPDF2允許您執(zhí)行此操作。

from PyPDF2 import PdfWriter
merger = PdfWriter()
for pdf in ["M:\YOLOv1.pdf", "M:\YOLOv2.pdf"]:
    merger.append(pdf)
merger.write("M:\merged.pdf")
merger.close()

以上代碼將打開(kāi)名為’YOLOv1.pdf’和’YOLOv1.pdf’的兩個(gè)PDF文件,將它們的內(nèi)容合并到一個(gè)新的PDF文件’merged.pdf’中。

旋轉(zhuǎn)頁(yè)面

有時(shí),PDF文件中的頁(yè)面可能需要旋轉(zhuǎn)。使用PyPDF2,您可以旋轉(zhuǎn)頁(yè)面以適應(yīng)您的需求。

import PyPDF2
# 打開(kāi)PDF文件
pdf_file = open('M:\YOLOv1.pdf', 'rb')
# 創(chuàng)建PDF對(duì)象
pdf_reader = PyPDF2.PdfReader(pdf_file)
# 創(chuàng)建一個(gè)新的PDF對(duì)象
pdf_writer = PyPDF2.PdfWriter()
# 旋轉(zhuǎn)第一頁(yè)90度
page = pdf_reader.pages[0]
page.rotate(90)
pdf_writer.add_page(page)
# 將未旋轉(zhuǎn)的頁(yè)面添加到新文件中
for page_num in range(1, len(pdf_reader.pages)):
    page = pdf_reader.pages[page_num]
    pdf_writer.add_page(page)
# 創(chuàng)建一個(gè)新的PDF文件并保存旋轉(zhuǎn)后的內(nèi)容
output_pdf = open('M:\YOLOv1-rd.pdf', 'wb')
pdf_writer.write(output_pdf)
# 關(guān)閉所有打開(kāi)的文件
pdf_file.close()
output_pdf.close()

以上代碼將打開(kāi)名為’YOLOv1.pdf’的PDF文件,旋轉(zhuǎn)第一頁(yè)90度,并將旋轉(zhuǎn)后的頁(yè)面保存到新的PDF文件’YOLOv1-rd.pdf’中。

添加書(shū)簽

您還可以使用PyPDF2在PDF文件中添加書(shū)簽,以便更輕松地導(dǎo)航和查找內(nèi)容。

以上代碼將打開(kāi)名為’YOLOv1.pdf’的PDF文件,將其內(nèi)容復(fù)制到新的PDF文件’YOLOv1-copy.pdf’中,并在第一頁(yè)和第六頁(yè)添加了兩個(gè)書(shū)簽。

import PyPDF2
# 打開(kāi)PDF文件
pdf_file = open('M:\YOLOv1.pdf', 'rb')
# 創(chuàng)建PDF對(duì)象
pdf_reader = PyPDF2.PdfReader(pdf_file)
# 創(chuàng)建一個(gè)新的PDF對(duì)象
pdf_writer = PyPDF2.PdfWriter()
# 循環(huán)遍歷每一頁(yè)并將頁(yè)面添加到新文件中
for page_num in range(len(pdf_reader.pages)):
    page = pdf_reader.pages[page_num]
    pdf_writer.add_page(page)
# 添加書(shū)簽
pdf_writer.add_bookmark('Chapter 1', 0)  # 在第一頁(yè)添加一個(gè)名為"Chapter 1"的書(shū)簽
pdf_writer.add_bookmark('Chapter 2', 5)  # 在第六頁(yè)添加一個(gè)名為"Chapter 2"的書(shū)簽
# 創(chuàng)建一個(gè)新的PDF文件并保存帶有書(shū)簽的內(nèi)容
output_pdf = open('M:\YOLOv1-copy.pdf', 'wb')
pdf_writer.write(output_pdf)
# 關(guān)閉所有打開(kāi)的文件
pdf_file.close()
output_pdf.close()

結(jié)論

使用PyPDF2庫(kù),您可以輕松地從PDF文件中提取文本,這對(duì)于數(shù)據(jù)分析、信息檢索和自動(dòng)化任務(wù)非常有用。希望這篇文章和示例代碼有助于您開(kāi)始使用PyPDF2進(jìn)行PDF文本提取。如若需要其他高級(jí)用法,例如比例調(diào)整、放縮等操作,可以訪問(wèn)PyPDF2的官方網(wǎng)站查看其他示例。

以上就是Python利用PyPDF2庫(kù)實(shí)現(xiàn)輕松提取PDF文本的詳細(xì)內(nèi)容,更多關(guān)于Python PyPDF2提取PDF文本的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用Python的Tornado框架實(shí)現(xiàn)一個(gè)一對(duì)一聊天的程序

    使用Python的Tornado框架實(shí)現(xiàn)一個(gè)一對(duì)一聊天的程序

    這篇文章主要介紹了使用Python的Tornado框架實(shí)現(xiàn)一個(gè)一對(duì)一聊天的程序,程序基于WebSocket,需要的朋友可以參考下
    2015-04-04
  • Python常見(jiàn)內(nèi)置高效率函數(shù)用法示例

    Python常見(jiàn)內(nèi)置高效率函數(shù)用法示例

    這篇文章主要介紹了Python常見(jiàn)內(nèi)置高效率函數(shù)用法,結(jié)合實(shí)例形式分析了Python中filter()、map()、reduce()、lambda匿名函數(shù)等功能與簡(jiǎn)單使用技巧,需要的朋友可以參考下
    2018-07-07
  • 地圖可視化神器kepler.gl python接口的使用方法

    地圖可視化神器kepler.gl python接口的使用方法

    這篇文章主要介紹了python 地圖可視化神器kepler.gl近期重要更新的的相關(guān)資料,幫助大家利用python實(shí)現(xiàn)地圖可視化,感興趣的朋友可以了解下
    2020-12-12
  • Django實(shí)現(xiàn)列表頁(yè)商品數(shù)據(jù)返回教程

    Django實(shí)現(xiàn)列表頁(yè)商品數(shù)據(jù)返回教程

    這篇文章主要介紹了Django實(shí)現(xiàn)列表頁(yè)商品數(shù)據(jù)返回教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • ?分享Python?中的?7?種交叉驗(yàn)證方法

    ?分享Python?中的?7?種交叉驗(yàn)證方法

    這篇文章主要給大家分享的是Python?中的?7?種交叉驗(yàn)證方法,交叉驗(yàn)證是一種用于估計(jì)機(jī)器學(xué)習(xí)模型性能的統(tǒng)計(jì)方法,它是一種評(píng)估統(tǒng)計(jì)分析結(jié)果如何推廣到獨(dú)立數(shù)據(jù)集的方法,下文相關(guān)介紹,需要的朋友可以參考一下
    2022-03-03
  • Python析構(gòu)函數(shù)__del__定義原理解析

    Python析構(gòu)函數(shù)__del__定義原理解析

    這篇文章主要介紹了Python析構(gòu)函數(shù)__del__定義原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python?Matplotlib通過(guò)plt.subplots創(chuàng)建子繪圖

    Python?Matplotlib通過(guò)plt.subplots創(chuàng)建子繪圖

    這篇文章主要介紹了Python?Matplotlib通過(guò)plt.subplots創(chuàng)建子繪圖,plt.subplots調(diào)用后將會(huì)產(chǎn)生一個(gè)圖表和默認(rèn)網(wǎng)格,與此同時(shí)提供一個(gè)合理的控制策略布局子繪圖,更多相關(guān)需要的朋友可以參考下面文章內(nèi)容
    2022-07-07
  • Pycharm導(dǎo)入Python包,模塊的圖文教程

    Pycharm導(dǎo)入Python包,模塊的圖文教程

    今天小編就為大家分享一篇Pycharm導(dǎo)入Python包,模塊的圖文教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 如何打包Python Web項(xiàng)目實(shí)現(xiàn)免安裝一鍵啟動(dòng)的方法

    如何打包Python Web項(xiàng)目實(shí)現(xiàn)免安裝一鍵啟動(dòng)的方法

    這篇文章主要介紹了如何打包Python Web項(xiàng)目,實(shí)現(xiàn)免安裝一鍵啟動(dòng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Pandas中迭代DataFrame行的方法總結(jié)

    Pandas中迭代DataFrame行的方法總結(jié)

    Python是進(jìn)行數(shù)據(jù)分析的一種很好的語(yǔ)言,主要是因?yàn)橐詳?shù)據(jù)為中心的Python包的奇妙生態(tài)系統(tǒng),本文主要為大家介紹了如何在Pandas中迭代DataFrame中的行,有需要的可以參考下
    2023-09-09

最新評(píng)論