找回密码
 会员注册
查看: 20|回复: 0

利用PythonPyPDF2库轻松提取PDF文本(及其他高级操作)

[复制链接]

2万

主题

0

回帖

6万

积分

超级版主

积分
67462
发表于 2024-9-10 23:13:19 | 显示全部楼层 |阅读模式
当需要从PDF文件中提取文本时,Python中的PyPDF2库是一个非常有用的工具。无论您是需要分析PDF文档中的内容还是需要在文档中搜索特定的信息,PyPDF2都可以帮助您轻松实现这些任务。在本文中,我们将探讨如何使用PyPDF2库提取PDF文件中的文本,并提供一些示例代码来帮助您入门。安装PyPDF2库首先,您需要安装PyPDF2库。您可以使用pip来安装它:pipinstallPyPDF21技术交流技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。本文文章由粉丝的分享、推荐,资料干货、资料分享、数据、技术交流提升,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。方式①、添加微信号:pythoner666,备注:来自CSDN+加群方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群打开PDF文件,并读取内容让我们从一个简单的示例开始。假设我们有一个名为"sample.pdf"的PDF文件,并且我们想要提取其中的文本内容。importPyPDF2#打开PDF文件pdf_file=open('YOLOv1.pdf','rb')#创建一个PDF对象pdf_reader=PyPDF2.PdfReader(pdf_file)#获取PDF文件中的页面数量num_pages=len(pdf_reader.pages)#创建一个空字符串,用于存储提取的文本text=""#循环遍历每一页并提取文本forpage_numinrange(num_pages):page=pdf_reader.pages[page_num]text+=page.extract_text()#关闭PDF文件pdf_file.close()#打印提取的文本print(text)123456789101112131415161718192021222324以上代码将打开名为"YOLOv1.pdf"的PDF文件,遍历每一页并将文本内容提取到一个字符串中。最后,它会打印提取的文本。提取结果高级用法除了基本的文本提取,PyPDF2还提供了其他功能,例如合并多个PDF文件、旋转页面、添加书签等。让我们详细讨论一些高级用法,并提供相应的代码示例。合并多个PDF文件有时,您可能需要将多个PDF文件合并成一个文件。PyPDF2允许您执行此操作。fromPyPDF2importPdfWritermerger=PdfWriter()forpdfin["M:\YOLOv1.pdf","M:\YOLOv2.pdf"]:merger.append(pdf)merger.write("M:\merged.pdf")merger.close()123456789以上代码将打开名为’YOLOv1.pdf’和’YOLOv1.pdf’的两个PDF文件,将它们的内容合并到一个新的PDF文件’merged.pdf’中。旋转页面有时,PDF文件中的页面可能需要旋转。使用PyPDF2,您可以旋转页面以适应您的需求。importPyPDF2#打开PDF文件pdf_file=open('M:\YOLOv1.pdf','rb')#创建PDF对象pdf_reader=PyPDF2.PdfReader(pdf_file)#创建一个新的PDF对象pdf_writer=PyPDF2.PdfWriter()#旋转第一页90度page=pdf_reader.pages[0]page.rotate(90)pdf_writer.add_page(page)#将未旋转的页面添加到新文件中forpage_numinrange(1,len(pdf_reader.pages)):page=pdf_reader.pages[page_num]pdf_writer.add_page(page)#创建一个新的PDF文件并保存旋转后的内容output_pdf=open('M:\YOLOv1-rd.pdf','wb')pdf_writer.write(output_pdf)#关闭所有打开的文件pdf_file.close()output_pdf.close()12345678910111213141516171819202122232425262728以上代码将打开名为’YOLOv1.pdf’的PDF文件,旋转第一页90度,并将旋转后的页面保存到新的PDF文件’YOLOv1-rd.pdf’中。添加书签您还可以使用PyPDF2在PDF文件中添加书签,以便更轻松地导航和查找内容。以上代码将打开名为’YOLOv1.pdf’的PDF文件,将其内容复制到新的PDF文件’YOLOv1-copy.pdf’中,并在第一页和第六页添加了两个书签。importPyPDF2#打开PDF文件pdf_file=open('M:\YOLOv1.pdf','rb')#创建PDF对象pdf_reader=PyPDF2.PdfReader(pdf_file)#创建一个新的PDF对象pdf_writer=PyPDF2.PdfWriter()#循环遍历每一页并将页面添加到新文件中forpage_numinrange(len(pdf_reader.pages)):page=pdf_reader.pages[page_num]pdf_writer.add_page(page)#添加书签pdf_writer.add_bookmark('Chapter1',0)#在第一页添加一个名为"Chapter1"的书签pdf_writer.add_bookmark('Chapter2',5)#在第六页添加一个名为"Chapter2"的书签#创建一个新的PDF文件并保存带有书签的内容output_pdf=open('M:\YOLOv1-copy.pdf','wb')pdf_writer.write(output_pdf)#关闭所有打开的文件pdf_file.close()output_pdf.close()123456789101112131415161718192021222324252627结论使用PyPDF2库,您可以轻松地从PDF文件中提取文本,这对于数据分析、信息检索和自动化任务非常有用。希望这篇文章和示例代码有助于您开始使用PyPDF2进行PDF文本提取。如若需要其他高级用法,例如比例调整、放缩等操作,可以访问PyPDF2的官方网站查看其他示例。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-3 02:33 , Processed in 0.454208 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表