批量检索pdf文档

工作中经常遇到需要批量检索pdf文档内容,比如SID期刊,每年给到我的都是一个没有任何说明的文件夹,里面一堆pdf。

python有个PyPDF2库,可以实现检索pdf的功能,PySimpleGUI库可以用来创建图形界面,于是果断选择在Win10中安装Python。

然后安装PyPDF2库和PySimpleGUI库

pip install PySimpleGUI

安装打包工具

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller

Python源码如下:

import os
import PySimpleGUI as sg
import PyPDF2

def search_pdf_files(folder_path, keyword):
    results = []
    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:
                    reader = PyPDF2.PdfReader(f)
                    text = ""
                    for page_number in range(len(reader.pages)):
                        text += reader.pages[page_number].extract_text()
                    if keyword in text:
                        results.append((file, "包含关键词"))
                    else:
                        results.append((file, "不包含关键词"))
    return results

def main():
    layout = [
        [sg.Text('选择要查找的文件夹:'), sg.InputText(key='_FOLDER_'), sg.FolderBrowse()],
        [sg.Text('输入待查找关键词:'), sg.InputText(key='_KEYWORD_')],
        [sg.Button('开始搜索'), sg.Button('退出')]
    ]

    window = sg.Window('PDF关键词搜索工具', layout)

    while True:
        event, values = window.read()
        if event in (None, '退出'):
            break
        if event == '开始搜索':
            folder_path = values['_FOLDER_']
            keyword = values['_KEYWORD_']
            if folder_path and keyword:
                results = search_pdf_files(folder_path, keyword)
                with open(os.path.expanduser('~/Desktop/search_results.txt'), 'w', encoding='utf-8') as f:
                    for result in results:
                        f.write(f"{result[0]}\t{result[1]}\n")
                sg.popup('搜索完成!结果已保存在桌面。')
            else:
                sg.popup('请填写文件夹路径和关键词!')

    window.close()

if __name__ == "__main__":
    main()

保存成.py文档后,打包成.exe

pyinstaller --onefile searchpdf2.py

PyInstaller 将会开始打包你的脚本,并生成一个可执行文件(可能需要一些时间)。完成后,在同级目录下会生成一个 dist 文件夹,里面包含了打包好的可执行文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值