chatGPT와 함께하는 시간이 즐겁다. 어쨌든 결과를 내주는 부하직원이 있다는 건, 꽤나 즐거운 일 인것 같다. 오늘은 폴더에 있는 pdf를 한 파일로 합치는 파이썬 프로그램을 작성해 봤다. 난 다른걸 더 해보고 싶은데, 위에서 하라는 건 어쩔 수가 없다. chatGPT에게 지시한다.
폴더를 선택하여 폴더내에 존재하는 pdf 파일 전체를 병합하는 파이썬 코드를 작성해 주세요.
AI가 인격을 갖게 될지도 모른다는 생각에, 높임말을 사용해서 지시를 하고 있다. chatGPT가 답한다.
import os
from PyPDF2 import PdfFileMerger
# 병합할 PDF 파일들이 들어 있는 폴더 경로 설정
folder_path = '폴더 경로'
# 폴더 내 PDF 파일 목록 불러오기
pdf_files = []
for filename in os.listdir(folder_path):
if filename.endswith('.pdf'):
pdf_files.append(os.path.join(folder_path, filename))
# PDF 파일들을 하나로 병합
pdf_merger = PdfFileMerger()
for pdf in pdf_files:
with open(pdf, 'rb') as f:
pdf_merger.append(f)
# 병합된 PDF 파일 저장
with open('병합된 PDF 파일명.pdf', 'wb') as f:
pdf_merger.write(f)
역시 깔끔하다. 근데, 폴더 경로를 직접 입력하는 게 마음에 안든다. 다시 지시한다.
폴더 경로를 선택할 수 있도록 위 코드를 수정해 주세요
import os
from PyPDF2 import PdfFileMerger
from tkinter import filedialog
import tkinter as tk
# Tkinter 루트 창 생성
root = tk.Tk()
root.withdraw()
# 병합할 PDF 파일들이 들어 있는 폴더 경로 선택
folder_path = filedialog.askdirectory()
# 폴더 내 PDF 파일 목록 불러오기
pdf_files = []
for filename in os.listdir(folder_path):
if filename.endswith('.pdf'):
pdf_files.append(os.path.join(folder_path, filename))
# PDF 파일들을 하나로 병합
pdf_merger = PdfFileMerger()
for pdf in pdf_files:
with open(pdf, 'rb') as f:
pdf_merger.append(f)
# 병합된 PDF 파일 저장
output_filename = filedialog.asksaveasfilename(defaultextension=".pdf")
if output_filename:
with open(output_filename, 'wb') as f:
pdf_merger.write(f)
또 다시 촤롸락 결과가 나온다.
코드를 복사해서 VSC로 옮긴 후 실행하면, 아래와 같이 폴더를 선택하는 창이 나타난다.
폴더를 선택해서 실행하면, 딱 하고 돌아갈 것 같지만, 그렇지는 않다. 2년 전 내용으로 공부해서 결과를 보여주는거라 라이브러리에 문제가 많이 발생한다.
pdf_merger = PdfFileMerger()
PyPDF2.errors.DeprecationError: PdfFileMerger is deprecated and was removed in PyPDF2 3.0.0. Use PdfMerger instead.
계속해서 다른 라이브러리를 사용해서 문제를 해결해 달라고 해도, 계속 PdfFileMerger()를 사용해서 코드를 짜준다.
다른 방법 시도 중...
반응형
'IT' 카테고리의 다른 글
JSX(JavaScript for XML) 살펴보기 (0) | 2023.08.14 |
---|---|
React 배우기 전 알면 좋은 5가지 (0) | 2023.08.14 |
주니어 개발자를 대체할 chatGPT (0) | 2023.02.25 |
자동 코딩을 도와주는 코파일럿(copilot) 설정 (0) | 2023.02.09 |
마이크로소프트 Bing에 AI 장착하고 구글에 도전장 (0) | 2023.02.09 |