这是该程序运行后的GUI,希望合并或者拆分PDF选择对应的按钮,会跳出选择框
代码如下所示:
import PyPDF2
import tkinter as tk
from tkinter import filedialog
def merge_pdfs(pdf_files, output_file):
merger = PyPDF2.PdfMerger()
for pdf in pdf_files:
merger.append(pdf)
merger.write(output_file)
merger.close()
def split_pdf(input_file):
pdf_reader = PyPDF2.PdfReader(input_file)
for page in range(len(pdf_reader.pages)):
output = PyPDF2.PdfWriter()
output.add_page(pdf_reader.pages[page])
with open(f"output_page_{page + 1}.pdf", "wb") as f:
output.write(f)
def select_pdf_files():
files = filedialog.askopenfilenames(filetypes=[("PDF Files", "*.pdf")])
return list(files)
def select_output_file():
file = filedialog.asksaveasfilename(defaultextension=".pdf", filetypes=[("PDF File", "*.pdf")])
return file
def merge():
pdf_files = select_pdf_files()
if pdf_files:
output_file = select_output_file()
if output_file:
merge_pdfs(pdf_files, output_file)
status_label.config(text="PDFs merged successfully!")
def split():
input_file = filedialog.askopenfilename(filetypes=[("PDF File", "*.pdf")])
if input_file:
split_pdf(input_file)
status_label.config(text="PDF split successfully!")
# 创建主窗口
root = tk.Tk()
root.title("PDF Toolkit")
# 创建按钮
merge_button = tk.Button(root, text="Merge PDFs", command=merge)
merge_button.pack(pady=10)
split_button = tk.Button(root, text="Split PDF", command=split)
split_button.pack(pady=10)
status_label = tk.Label(root, text="", fg="green")
status_label.pack()
root.mainloop()