import os
from PyPDF2 import PdfFileMerger
target_path = r'E:\XX'
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
file_merger = PdfFileMerger()
for pdf in pdf_lst:
file_merger.append(pdf) # 合并pdf文件
file_merger.write(r'E:\XX\合并.pdf')
可以在合并前(紧接第四行代码后)对pdf_lst进行排序
如果数字在前面的可以按照我这个方法进行排序
a = ['4abcdefg.pdf', '2dus.pdf', '3dsi.pdf', '1xx.pdf', '34.pdf']
def getNum(s):
for i in range(len(s)):
if ord(s[i])<ord('0') or ord(s[i])>ord('9'):
return int(s[:i])
a = sorted(a, key=getNum)
print(a)
# 输出 ['1xx.pdf', '2dus.pdf', '3dsi.pdf', '4abcdefg.pdf', '34.pdf']