PDF파일을 이미지 파일로 변환 프로그램 만들기 2

지난 포스팅에서 PDF파일을 이미지 파일로 변환 하는 프로그램을 만들어 봤습니다. 그런데 조금 불편한 점이 있었어요. 그래서 오늘은 불편한 점을 해소해 보겠습니다. PDF파일을 이미지 파일로 변환 프로그램 만들기 2 지난번에 만든 프로그램은 변환하고자 하는 PDF파일이 프로그램이 있는 폴더에 위치해 있어야 했는데요. 이번에는 탐색기에서 내가 변환하고자 하는 PDF파일을 직접 선택하고 저장하고자 하는 폴더를 만들어서 해당 폴더에 저장되게 […]

본문 상단 광고 구역 (승인 후 자동 노출됩니다)

지난 포스팅에서 PDF파일을 이미지 파일로 변환 하는 프로그램을 만들어 봤습니다. 그런데 조금 불편한 점이 있었어요. 그래서 오늘은 불편한 점을 해소해 보겠습니다.

PDF파일을 이미지 파일로 변환 프로그램 만들기 2

지난번에 만든 프로그램은 변환하고자 하는 PDF파일이 프로그램이 있는 폴더에 위치해 있어야 했는데요. 이번에는 탐색기에서 내가 변환하고자 하는 PDF파일을 직접 선택하고 저장하고자 하는 폴더를 만들어서 해당 폴더에 저장되게 하는 방향으로 프로그램을 수정해보겠습니다.

✅ 지난 포스팅 보기

PDF 파일 이미지로 변환하기 | 퇴근 시간을 앞당겨줄 파이썬 PDF 변환 자동화 가이드

역시 제가 직접하는건 아니고 제미나이에게 만들어 달라고 시켜보겠습니다.

지난번 이용했던 제미나이 채팅창에 “변환하려는 파일을 내가 직접 선택하고 저장하는 폴더도 내가 직접 만들어서 저장하고 싶어”라고 입력해봤습니다. 그랬더니 뚝딱 코드를 만들어주네요.

import fitz  # PyMuPDF
import os
from tkinter import filedialog, Tk

def smart_pdf_converter():
    # 1. 파일 선택창 띄우기 (변환할 PDF 고르기)
    root = Tk()
    root.withdraw()  # 불필요한 메인 창은 숨깁니다
    
    pdf_path = filedialog.askopenfilename(
        title="변환할 PDF 파일을 선택하세요",
        filetypes=[("PDF files", "*.pdf")]
    )
    
    if not pdf_path:
        print("❌ 파일을 선택하지 않았습니다.")
        return

    # 2. 저장할 폴더 선택창 띄우기 (여기서 새 폴더 생성도 가능!)
    save_dir = filedialog.askdirectory(title="이미지를 저장할 폴더를 선택하세요")
    
    if not save_dir:
        print("❌ 저장 폴더를 선택하지 않았습니다.")
        return

    # 3. PDF 변환 로직 시작
    doc = fitz.open(pdf_path)
    print(f"📂 '{os.path.basename(pdf_path)}' 변환을 시작합니다...")

    for i in range(len(doc)):
        page = doc.load_page(i)
        pix = page.get_pixmap(matrix=fitz.Matrix(2, 2)) # 고화질 유지
        
        output_path = os.path.join(save_dir, f"page_{i+1}.png")
        pix.save(output_path)
        print(f"✨ {i+1}페이지 저장 완료 -> {output_path}")

    doc.close()
    print(f"\n🎉 모든 작업이 끝났습니다! \n📍 저장 위치: {save_dir}")

# 프로그램 실행
smart_pdf_converter()

저는 코드 내용을 대충 이해하지만 코드 내용을 꼭 알 필요는 없지만 잠깐 부연 설명을 드릴게요.

이번 코드에는 제미나이가 파이썬 기본 라이브러리인 tkinter를 사용했네요. 덕분에 별도의 설치 없이도 윈도우 탐색기 같은 깔끔한 창을 띄울 수 있죠.

root.withdraw()라는 코드는 탐색기 창만 깔끔하게 띄우기 위해 배경이 되는 하얀 창을 숨겨주는 역할을 합니다.

위 코드를 convert_ver1.1.py파일을 만들어서 붙여넣기 했습니다.

위 코드를 실행하니까 폴더에서 내가 직접 변환하고자 하는 파일을 선택하고 변환된 파일을 저장하는 폴더까지 직접 만들 수 있게 됐습니다.

PDF파일을 이미지 파일로 변환 프로그램
변경할 PDF파일 선택
PDF파일을 이미지 파일로 변환 프로그램
변환된 파일을 저장할 폴더 생성

테스트2 폴더에 들어가면 PDF파일이 이미지 파일로 변환되어 있을거에요. 실제로 폴더에 들어가 보니저장 폴더에는 ‘page_1.png’, ‘page_2.png’ 식으로 순서대로 파일이 생성되는 것을 확인할 수 있었습니다.

PDF파일을 이미지 파일로 변환 프로그램

맺음말

이번 포스팅에서는 지난번 포스팅에서 만들었던 PDF파일을 이미지로 변환하는 프로그램을 조금 업그래이드 했습니다. 변환할 PDF파일을 폴더에서 선택하고 원하는 폴더에 저장하는 기능을 추가했죠. 제가 직접한건 없습니다. 모두 제미나이가 알아서 만들어 줬습니다.

예전 같으면 이 tkinter 라이브러리 사용법을 익히느라 또 몇 시간을 공부했어야 했을 텐데, 제미나이에게 ‘불편한 점’을 말로 설명하니 바로 해결책을 제시해 주는 게 정말 놀랍습니다

어떠신가요? 또 개선할 내용이 보이지 않나요? 지금 프로그램은 PDF파일 하나만 변환해주고 있어요. 그런데 일하다보면 변환해야할게 하나만 있는 건 아니잖아요. 저는 다음 스텝으로 여러개의 PDF파일을 한꺼번에 이미지 파일로 만들어주는 방향으로 코드를 업그래이드 해볼 생각입니다. 여러분도 개선해 볼 사항을 생각해 보시고 만들어보세요.

혹시 궁금한 사항이 있으면 제미나이나, 쳇지피티 같은데 물어보면 빠르게 답을 확인할 수 있어요. 그래도 궁금한게 있으시면 댓글에 올려주세요

본문 하단 광고 구역