import os import fitz # PyMuPDF 라이브러리 def convert_pdf_pages_to_images(pdf_path, output_folder, dpi=150): if not os.path.exists(output_folder): os.makedirs(output_folder) # PDF 문서 열기 doc = fitz.open(pdf_path) print(f"[*] '{pdf_path}' 파일 변환을 시작합니다. 총 페이지 수: {len(doc)}") for page_idx, page in enumerate(doc): # 지정된 DPI로 고화질 페이지 렌더링 (Matrix 설정) pix = page.get_pixmap(matrix=fitz.Matrix(dpi/72, dpi/72)) filename = f"page_{page_idx + 1}.png" output_path = os.path.join(output_folder, filename) # 이미지 파일로 저장 pix.save(output_path) print(f"[+] 페이지 {page_idx + 1} 변환 완료: {filename}") print(f"[+] 모든 작업 완료! 전체 페이지 이미지가 '{output_folder}' 폴더에 저장되었습니다.") if __name__ == '__main__': pdf_file = "sample.pdf" # 변환할 PDF 파일명 output_dir = "./pdf_page_images" # 저장할 폴더명 if not os.path.exists(pdf_file): print(f"[!] '{pdf_file}' 파일이 존재하지 않습니다. PDF 파일을 스크립트와 같은 경로에 두고 실행하세요.") else: convert_pdf_pages_to_images(pdf_file, output_dir)