基于PyPDF2 版本 3.0.0,用python3.11写一个脚本,在windows系统中根据关键字实现遍历某文件夹下所有pdf文档,找到pdf文档中包含关键字的文件名称、页码,写入word文档
时间: 2024-02-05 15:11:35 浏览: 36
好的,我可以帮你写一个脚本实现这个功能。我们需要先安装PyPDF2和python-docx库:
```python
pip install PyPDF2 python-docx
```
然后就可以开始编写脚本了:
```python
import os
import re
import docx
from PyPDF2 import PdfFileReader
# 设置关键字
keywords = ['python', 'pdf', 'word']
# 设置搜索文件夹路径和结果输出路径
search_path = r'C:\Users\xxx\Desktop\pdf_files'
output_path = r'C:\Users\xxx\Desktop\search_results.docx'
# 新建一个Word文档,并设置标题
doc = docx.Document()
doc.add_heading('PDF文件搜索结果', 0)
# 遍历文件夹中的所有PDF文件
for root, dirs, files in os.walk(search_path):
for file in files:
if file.endswith('.pdf'):
# 构造PDF文件路径
pdf_path = os.path.join(root, file)
# 打开PDF文件并读取内容
with open(pdf_path, 'rb') as f:
pdf = PdfFileReader(f)
# 遍历PDF文件中的所有页
for i in range(pdf.getNumPages()):
page = pdf.getPage(i)
text = page.extractText()
# 在页内容中查找关键字
for keyword in keywords:
match = re.search(keyword, text, re.IGNORECASE)
if match:
# 将搜索结果写入Word文档
doc.add_paragraph(f'文件名:{file},页码:{i+1}')
break
# 保存Word文档
doc.save(output_path)
```
这个脚本会遍历指定的文件夹,查找所有PDF文件,然后在每个PDF文件的每一页中查找关键字。如果找到了关键字,就将搜索结果写入一个Word文档中。最后保存这个Word文档。