如何使用PyPDF2读取并显示PDF文件中的文本内容
如何使用PyPDF2读取并显示PDF文件中的文本内容
嘿,我完全懂你的困扰——你现在打印reader得到的只是PyPDF2的阅读器对象实例,可不是PDF里的实际文字内容!别着急,稍微调整下代码就能拿到你想要的文本啦。
你之前的代码只是创建了PDF阅读器对象,但还没走到提取文本那一步。PyPDF2的PDFReader本身是用来管理PDF文档的容器,要获取文本得先定位到具体页面,再调用页面的文本提取方法。
给你修正后的代码,一步步看:
import PyPDF2 with open('dummy.pdf', 'rb') as file: # 创建阅读器对象(这步你已经做对了) reader = PyPDF2.PDFReader(file) # 获取PDF的第一页(注意页面索引从0开始哦) first_page = reader.pages[0] # 提取该页面的文本内容 page_text = first_page.extract_text() # 打印提取到的文本 print(page_text)
如果你的PDF有多页,想一次性提取所有内容的话,可以用循环遍历每一页:
import PyPDF2 with open('dummy.pdf', 'rb') as file: reader = PyPDF2.PDFReader(file) # 遍历所有页面,len(reader.pages)能拿到总页数 for page_index in range(len(reader.pages)): current_page = reader.pages[page_index] page_text = current_page.extract_text() print(f"第{page_index + 1}页的内容:") print(page_text) print("------------------------------------")
另外要提一句:如果你的PDF是扫描生成的图片格式(不是可编辑的文字PDF),PyPDF2就没法提取文本了,这种情况得用OCR工具比如pytesseract来处理,但如果是正常的可编辑PDF,上面的方法绝对管用~
备注:内容来源于stack exchange,提问作者Alex S.




