python批量实现ocr识别pdf到excel中的GUI工具
时间: 2024-02-20 15:59:37 浏览: 126
要实现一个带有GUI界面的OCR识别工具,可以使用Python的Tkinter库来构建用户界面,使用之前提到的代码来实现OCR识别和Excel保存功能。
下面是一个示例代码,实现将GUI界面与OCR识别和Excel保存功能结合起来:
```python
import os
import pytesseract
import pandas as pd
from pdfminer.high_level import extract_text
import tkinter as tk
from tkinter import filedialog
# 创建GUI界面
root = tk.Tk()
root.title('PDF OCR识别工具')
root.geometry('400x300')
# 创建文件选择按钮
def choose_folder():
folder_path = filedialog.askdirectory()
folder_path_entry.delete(0, tk.END)
folder_path_entry.insert(0, folder_path)
folder_path_label = tk.Label(root, text='选择文件夹:')
folder_path_label.pack()
folder_path_entry = tk.Entry(root)
folder_path_entry.pack()
folder_choose_button = tk.Button(root, text='选择文件夹', command=choose_folder)
folder_choose_button.pack()
# 创建OCR识别按钮
def ocr():
folder_path = folder_path_entry.get()
for file_name in os.listdir(folder_path):
if file_name.endswith('.pdf'):
pdf_path = os.path.join(folder_path, file_name)
text = extract_text(pdf_path)
result = pytesseract.image_to_string(text)
df = pd.DataFrame({'text': [result]})
result_path = os.path.join(folder_path, file_name.replace('.pdf', '.xlsx'))
df.to_excel(result_path, index=False)
result_label.config(text='OCR识别完成!')
ocr_button = tk.Button(root, text='OCR识别', command=ocr)
ocr_button.pack()
# 创建结果显示标签
result_label = tk.Label(root, text='')
result_label.pack()
root.mainloop()
```
在这个示例代码中,我们创建了一个GUI界面,包括一个文件夹选择按钮、一个OCR识别按钮和一个结果显示标签。当用户点击文件夹选择按钮时,会弹出文件夹选择对话框,用户可以选择要批量识别的PDF文件所在的文件夹。当用户点击OCR识别按钮时,程序会遍历文件夹中的所有PDF文件,进行OCR识别,并将结果保存到同名的Excel文件中,同时在结果显示标签中显示“OCR识别完成!”的提示信息。
需要注意的是,这个示例代码只能识别PDF文件,如果要识别其他格式的文件,需要对代码进行修改。可以使用Python的os库来遍历文件夹中的所有文件,对每个文件进行OCR识别和Excel保存操作。同时,可以使用Python的多线程或者多进程来加速处理速度,提高用户体验。
阅读全文