目标:合并多个PDF文件;
可以在Python里复制代码实现;
想要方便点,到我页面里,可以免费下载exe文件直接运行;(不用谢哈哈哈哈)
有问题欢迎联系我,让我也可以改进这个功能,谢谢;
客户使用步骤:
把所有要合并的PDF 按你要合并的顺序 放到一个文件夹里;
输入 文件夹 的路径;
设置 合并后的 文件名;
生成的文件在那个文佳夹里面;
代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 3/21/2023 3:23 PM
# @Author : Nora
# @File : merger.py
# @Description : this is to merge two pdf file together
import os
import sys
from PyPDF2 import PdfMerger
from past.builtins import raw_input
def merge_pdf(pdf_path):
pdf_name_lst = [f for f in os.listdir(pdf_path) if f.endswith('.pdf')] # why we add 'f' before 'for'???
print(pdf_name_lst) # to output the filename we wana merge
pdf_lst = [os.path.join(pdf_path,pdf_name) for pdf_name in pdf_name_lst]
print(pdf_lst) # to output the file route end with filename
pdf_merger = PdfMerger() # to instantiate
for pdf in pdf_lst:
with open (pdf,'rb') as input: # 把读到的内变成文件对象 命名为input
pdf_merger.append(input)
name = raw_input('the merged filename you want:')+str('.pdf')
with open (name,'wb') as output:
pdf_merger.write(output)
if __name__ == '__main__':
user_input = raw_input('enter your file path:')
assert os.path.exists(user_input),'did not find the path ' # 断言语句 如果表达式为假,就输出后面的警告,具体用法:https://blog.csdn.net/weixin_61561736/article/details/124886522?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167944903116800227427959%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167944903116800227427959&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-124886522-null-null.142^v75^insert_down2,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=assert%20&spm=1018.2226.3001.4187
pdf_path =user_input
merge_pdf(pdf_path)
注意:
合并是按文件夹里面的 pdf 排序来的; 如果懒得去文佳夹里看 我显示框里面也有显示;