from tkinter import scrolledtext
import PyPDF2
import tkinter as tk
import ttkbootstrap as ttk
from tkinter import filedialog
def pdf_merge(pdf_merge_list):
"""pdf合并"""
pdf_file_merge = PyPDF2.PdfFileWriter()
for pdf_page in pdf_merge_list:
print(pdf_page)
pdf_file_reader = PyPDF2.PdfFileReader(pdf_page)
# 遍历每个pdf的每一页
for page in range(pdf_file_reader.getNumPages()):
print(page)
# 写入实例化对象中
pdf_file_merge.addPage(pdf_file_reader.getPage(page))
with open(r"合并1.pdf", 'wb') as pdf_merge_file:
pdf_file_merge.write(pdf_merge_file)
pdf_merge_list = []
# 设置
def get_install_path():
"""选中pdf文件路径"""
ts.delete(1.0, 'end')
install_path = tk.filedialog.askopenfilenames()
print(install_path)
for filename in iter(install_path):
houzhui = str(filename).split('/')[-1].split('.')[-1]
if houzhui == 'pdf':
ts.insert('end', filename + '\n')
def merge_pdf():
pdf_lj = ts.get(1.0, 'end')
pdf_lj_list=str(pdf_lj).split('\n')
for pdf_name in pdf_lj_list:
if pdf_name:
pdf_merge_list.append(pdf_name)
print(pdf_merge_list)
pdf_merge(pdf_merge_list)
# 创建GUI对象窗口
root = ttk.Window(themename="superhero")
root.title('PDF处理')
root.geometry('370x350')
frame3 = ttk.Labelframe(root, bootstyle="info", text='程序执行信息')
ts = scrolledtext.ScrolledText(frame3, width=45, height=15)
frame3.grid(row=0, column=0)
ttk.Button(master=root, bootstyle="success", text='选择pdf文件路径', command=get_install_path).grid(row=1, column=0,
sticky='W')
ttk.Button(master=root, bootstyle="success", text='确定合并', command=merge_pdf).grid(row=1, column=0, sticky='E')
ts.pack()
root.mainloop()
实现效果如图: