-
安装工具
pip install PyPDF2
-
使用代码
from PyPDF2 import PdfFileWriter, PdfFileReader def get_filename(file_dir, download_type): """ 获取文件夹中所有指定后缀的文件 :param file_dir: 文件目录 :param download_type: 文件类型 """ file_list = [os.path.join(dir_path, filespath) for dir_path, dir_names, dir_files in os.walk(file_dir) for filespath in dir_files if str(filespath).endswith(download_type)] return file_list def merge_pdf(filepath, outfile): """ 合并指定目录下的所有pdf文件 :param filepath: 需要合并的文件目录 :param outfile: 合并后保存的pdf路径 :return: """ output = PdfFileWriter() output_pages = 0 # 获取两次解压后的pdf文件 pdf_file_name = get_filename(filepath, 'pdf') if pdf_file_name: for pdf_file in pdf_file_name: # 读取pdf文件 pdf_data = PdfFileReader(open(pdf_file, "rb")) # 获得pdf的页面总数 pdf_pages = pdf_data.getNumPages() output_pages += pdf_pages # 分别将page添加到输出output中 for i in range(pdf_pages): output.addPage(pdf_data.getPage(i)) logger.info("合并后的总页数:%d" % output_pages) # 写入到目标pdf文件 output_stream = open(os.path.join(filepath, outfile), "wb") output.write(output_stream) output_stream.close() return output_stream else: print("没有可以合并的pdf文件!")