基于PyPDF2 版本 3.0.0,用python3.11写一个脚本,在windows系统中根据关键字实现遍历某文件夹下所有pdf文档,找到pdf文档中包含关键字的文件名称、页码,写入word文档。将代码中的 PdfFileReader 替换为 PdfReader
时间: 2024-02-05 19:11:47 浏览: 172
以下是基于 PyPDF2 版本 3.0.0 的脚本,实现遍历某文件夹下所有pdf文档,找到pdf文档中包含关键字的文件名称、页码,写入word文档:
```python
import os
import re
import docx
from PyPDF2.pdf import PdfReader
# 设置关键字
keywords = ['keyword1', 'keyword2', 'keyword3']
# 设置文件夹路径
folder_path = r'C:\path\to\folder'
# 创建 word 文档
doc = docx.Document()
# 遍历文件夹中所有pdf文档
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.pdf'):
# 获取文件路径
file_path = os.path.join(root, file)
# 打开 pdf 文件
with open(file_path, 'rb') as f:
# 读取 pdf 文件内容
pdf_content = PdfReader(f)
# 遍历 pdf 文件中所有页面
for i, page in enumerate(pdf_content.pages):
# 将页面内容转换为字符串
page_content = page.get('/Contents').decode('utf-8')
# 在页面内容中查找关键字
for keyword in keywords:
if re.search(keyword, page_content, re.IGNORECASE):
# 将文件名和页码写入 word 文档
doc.add_paragraph(f'{file} - {i+1}')
break
# 保存 word 文档
doc.save('result.docx')
```
需要注意的是,这里使用了 PyPDF2 的 PdfReader 类替换了代码中的 PdfFileReader。其余部分与之前的脚本类似,只是将查找关键字的部分改为了使用正则表达式进行匹配。
阅读全文