PyPDF2 版本为 3.0.0 及以上,用python3.11写一个脚本,在windows系统中根据关键字实现遍历某文件夹下所有pdf文档,找到pdf文档中包含关键字的文件名称、页码,写入word文档
时间: 2024-02-05 21:11:20 浏览: 143
好的,你需要先安装PyPDF2和python-docx库,可以使用pip install命令来安装。安装完成后,可以使用以下代码来实现你的需求:
```python
import os
import re
import docx
from PyPDF2 import PdfFileReader
# 设置要查找的关键字
keyword = 'Python'
# 获取要遍历的文件夹路径
folder_path = input('请输入要遍历的文件夹路径:')
# 创建一个新的Word文档
doc = docx.Document()
# 遍历文件夹下所有pdf文档
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.pdf'):
pdf_path = os.path.join(root, file)
with open(pdf_path, 'rb') as f:
# 读取pdf文档
pdf_reader = PdfFileReader(f)
# 获取pdf文档中的页数
num_pages = pdf_reader.getNumPages()
# 遍历每一页
for i in range(num_pages):
# 获取当前页的文本内容
page = pdf_reader.getPage(i)
text = page.extractText()
# 查找关键字
if re.search(keyword, text, re.IGNORECASE):
# 将文件名和页码写入Word文档
doc.add_paragraph(file + ' - Page %d' % (i+1))
# 保存Word文档
doc.save('result.docx')
print('查找完成!')
```
注意,以上代码中使用了正则表达式来查找关键字,其中re.IGNORECASE参数表示忽略大小写。你需要将关键字和文件夹路径替换成你自己的值。运行代码后,程序会遍历指定文件夹下所有pdf文档,查找包含关键字的页码,并将文件名和页码写入一个新的Word文档中。
阅读全文