📜  使用Python从 PDF 文件中提取文本

📅  最后修改于: 2022-05-13 01:55:37.967000             🧑  作者: Mango

使用Python从 PDF 文件中提取文本

你们所有人都必须熟悉什么是 PDF。事实上,它们是最重要和最广泛使用的数字媒体之一。 PDF 代表可移植文档格式。它使用.pdf扩展名。它用于可靠地呈现和交换文档,独立于软件、硬件或操作系统。

从 PDF 文件中提取文本

Python包 PyPDF 可以用来实现我们想要的(文本提取),尽管它可以做的比我们需要的更多。该软件包还可用于生成、解密和合并 PDF 文件。

注意:有关详细信息,请参阅在Python中处理 PDF 文件

安装

要安装此软件包,请在终端中键入以下命令。

pip install PyPDF2

例子:

输入PDF:

提取-pdf-文本-python

# importing required modules 
import PyPDF2 
    
# creating a pdf file object 
pdfFileObj = open('example.pdf', 'rb') 
    
# creating a pdf reader object 
pdfReader = PyPDF2.PdfFileReader(pdfFileObj) 
    
# printing number of pages in pdf file 
print(pdfReader.numPages) 
    
# creating a page object 
pageObj = pdfReader.getPage(0) 
    
# extracting text from page 
print(pageObj.extractText()) 
    
# closing the pdf file object 
pdfFileObj.close() 

输出:

提取-pdf-python

让我们试着分块理解上面的代码:

  • pdfFileObj = open('example.pdf', 'rb')

    我们以二进制模式打开了example.pdf 。并将文件对象保存为pdfFileObj

  • pdfReader = PyPDF2.PdfFileReader(pdfFileObj)

    在这里,我们创建一个 PyPDF2 模块的PdfFileReader类的对象,并传递 pdf 文件对象并获取一个 pdf 阅读器对象。

  • print(pdfReader.numPages)

    numPages属性给出了 pdf 文件的页数。例如,在我们的例子中,它是 20(见输出的第一行)。

  • pageObj = pdfReader.getPage(0)

    现在,我们创建一个 PyPDF2 模块的PageObject类的对象。 pdf阅读器对象具有函数getPage() ,它以页码(起始表单索引0)作为参数并返回页面对象。

  • print(pageObj.extractText())

    Page 对象具有用于从 pdf 页面中提取文本的函数extractText()

  • pdfFileObj.close()

    最后,我们关闭 pdf 文件对象。