合并PDF的一个代码分享

发布时间 2023-10-28 18:11:42作者: 万花技术
import os
import PyPDF2
from tkinter import filedialog, Tk

def merge_pdfs(pdfs, output_file):
    merger = PyPDF2.PdfFileMerger()
    for pdf in pdfs:
        merger.append(pdf)
    merger.write(output_file)
    merger.close()
    return output_file

if __name__ == "__main__":
    root = Tk()
    root.withdraw()

    pdfs = filedialog.askopenfilenames(title="Select PDF files to merge", filetypes=[("PDF Files", "*.pdf")])
    if pdfs:
        output_file = filedialog.asksaveasfilename(title="Save merged PDF as", defaultextension=".pdf", filetypes=[("PDF Files", "*.pdf")])
        if output_file:
            result_file = merge_pdfs(pdfs, output_file)
            print(f"PDF files merged successfully into {os.path.basename(result_file)}")

  

这段代码做了以下几个改动:

使用正确的库名PyPDF2。
将PDF合并逻辑封装到了一个函数merge_pdfs程序中,以提高代码的可读性和模块性。
将主要的代码逻辑放入了if __name__ == "__main__":块中,以确保代码只在直接运行时执行,而不会在被导入为模块时执行。