用python写一个批量提取PDF文档信息并保存为TXT格式的文件的窗口程序并显示转换内容到文本框
时间: 2023-09-13 21:03:05 浏览: 20
好的,我可以给你提供一个简单的Python程序,它可以通过Python的GUI库Tkinter实现一个窗口程序,用于批量提取PDF文档信息并保存为TXT格式的文件,并将转换内容显示在文本框中。
首先,我们需要安装两个Python库:PyPDF2和tkinter。你可以使用以下命令进行安装:
```
pip install PyPDF2
pip install tkinter
```
然后,我们可以编写以下代码:
```python
import os
import PyPDF2
from tkinter import *
from tkinter import filedialog
def browse_files():
file_path = filedialog.askdirectory()
if file_path:
input_folder.set(file_path)
output_folder.set(file_path)
def convert_pdf_to_txt():
input_dir = input_folder.get()
output_dir = output_folder.get()
for root, dirs, files in os.walk(input_dir):
for file in files:
if file.endswith(".pdf"):
pdf_file = os.path.join(root, file)
with open(pdf_file, 'rb') as f:
pdf_reader = PyPDF2.PdfFileReader(f)
text = ''
for page in range(pdf_reader.getNumPages()):
text += pdf_reader.getPage(page).extractText()
txt_file = os.path.splitext(pdf_file)[0] + ".txt"
with open(txt_file, 'w', encoding='utf-8') as f:
f.write(text)
output_text.insert(END, "{} converted to {}\n".format(pdf_file, txt_file))
# 创建窗口
window = Tk()
window.title("PDF转换器")
# 输入文件夹选择
input_folder = StringVar()
input_folder_label = Label(window, text="输入文件夹:")
input_folder_label.grid(row=0, column=0, padx=5, pady=5)
input_folder_entry = Entry(window, textvariable=input_folder)
input_folder_entry.grid(row=0, column=1, padx=5, pady=5)
input_folder_button = Button(window, text="浏览", command=browse_files)
input_folder_button.grid(row=0, column=2, padx=5, pady=5)
# 输出文件夹选择
output_folder = StringVar()
output_folder_label = Label(window, text="输出文件夹:")
output_folder_label.grid(row=1, column=0, padx=5, pady=5)
output_folder_entry = Entry(window, textvariable=output_folder)
output_folder_entry.grid(row=1, column=1, padx=5, pady=5)
# 转换按钮
convert_button = Button(window, text="开始转换", command=convert_pdf_to_txt)
convert_button.grid(row=2, column=1, padx=5, pady=5)
# 转换结果
output_text = Text(window, height=10, width=50)
output_text.grid(row=3, column=0, columnspan=3, padx=5, pady=5)
# 运行窗口
window.mainloop()
```
运行程序后,你可以选择一个包含PDF文档的文件夹,程序将会自动遍历所有的PDF文档并将其转换为TXT格式保存在同一文件夹中。转换结果将会显示在程序窗口的文本框中。
注意:由于PDF文档的格式和内容各不相同,因此转换结果可能会有所不同,需要根据需要进行调整和处理。
相关推荐

















