import os from pypdf import PdfWriter def merge_pdfs(input_folder, output_filename): merger = PdfWriter() # 폴더 내 모든 파일을 파일명 순으로 정렬하여 PDF 파일만 추출 files = sorted([f for f in os.listdir(input_folder) if f.lower().endswith('.pdf')]) print(f"[*] 병합을 시작합니다. 대상 파일 목록: {files}") for file in files: file_path = os.path.join(input_folder, file) merger.append(file_path) print(f"[+] 병합 대기열 추가: {file}") merger.write(output_filename) merger.close() print(f"[+] 병합 완료! 저장된 파일명: {output_filename}") # 실전 사용 예시 (현재 폴더의 pdf_files 폴더 내 파일 병합) if __name__ == '__main__': input_dir = "./pdf_files" output_pdf = "merged_result.pdf" # 입력 폴더가 없을 경우 생성 if not os.path.exists(input_dir): os.makedirs(input_dir) print(f"[!] '{input_dir}' 폴더가 생성되었습니다. 병합할 PDF 파일들을 이 폴더에 넣어주세요.") else: merge_pdfs(input_dir, output_pdf)