使用的模块:
在此脚本中,我们将使用PyPDF2模块,该模块将为我们提供各种功能,例如提取数据,读取pdf文件,拆分文件并写入新文件。
下载PyPDF2:
通用方式:pip安装PyPDF2
Pycharm用户:转到python项目解释器并从那里安装它。
PyPDF2提供的各种功能:
PyPDF2.PdfFileReader():此函数将读取我们的pdf文件并返回一个数据值,该值将存储在变量中(以Pdf_Data为例)。
Pdf_Data.isEncrypted:此功能将帮助我们检查pdf文件是否已加密。
Pdf_Data.decrypt(“ <password>”):此函数将帮助我们解密pdf文件,在此函数内部,我们必须输入密码,然后pdf文件将被解密。
Pdf_Data.numPages:此函数将向我们返回pdf包含的页面数。
Pdf_Data.getPage:此函数将返回第一页上的数据,这里0似乎是第一页,而1则是第二页,事情就像在python中建立索引一样。
Pdf_Writer =PyPDF2.PdfFileWriter():此函数将创建一个变量,该变量将帮助我们创建新的pdf文件。
Pdf_Writer.addPage(<页面数据>):此函数会将pdf页面添加到新创建的pdf文件中。
注意:只能使用具有text的pdf文件提取文本。
# 导入模块 import PyPDF2 # 打开文件并阅读内容 # 打开文件 Pdf_Open=open("/home/abhinav/Downloads/CS_Defination-converted.pdf","rb") # 读取文件并存储内容 Pdf_Data=PyPDF2.PdfFileReader(Pdf_Open)# 获取页数 print(Pdf_Data.numPages) # 让我们提取第一页的数据 # 我们将使用getPage命令获取页面 # 第一页使用0 First_page=Pdf_Data.getPage(0) # 打印文字 print(First_page.extractText())
输出:
这是我们在输入中从pdf中提取的文本。这样,我们可以从pdf中提取文本。
现在,我们将创建一个pdf文件,并将上面使用的pdf的开始和最后一页添加到该文件中。
让我们看一下代码,
# 导入模块 import PyPDF2 # 打开文件并阅读内容 # 打开文件 Pdf_Open=open("/home/abhinav/Downloads/Abhinav_Gangrade.pdf","rb") # 读取文件并存储内容 Pdf_Data=PyPDF2.PdfFileReader(Pdf_Open)# 获取页数 print(Pdf_Data.numPages) # 创建一个PDF编写器 pdf_writer=PyPDF2.PdfFileWriter()# 我们将采用上述pdf的第一页 first_page=Pdf_Data.getPage(0) # 我们将采用上述pdf的最后一页 # 因为最后一页将是总页数-1 last_page=Pdf_Data.getPage((Pdf_Data.numPages)-1) # 将页面添加到新的pdf pdf_writer.addPage(first_page)pdf_writer.addPage(last_page)# 创建一个空白文件 New_pdf=open("/home/abhinav/Downloads/Hello.pdf","wb") # 将内容添加到空白文件 pdf_writer.write(New_pdf)# 现在关闭文件
从上面的代码中,我们可以在现有pdf的帮助下创建一个新pdf,然后,我们将现有pdf的第一页和最后一页进行合并,并将它们写入新pdf中。这样,我们可以在现有pdf的帮助下创建pdf。