306. 파이썬으로 폴더 내 특정 이미지 파일을 PDF 변환하고 변환한 이미지 삭제하기

전산 프로그램에서 거래처에 제품을 출고 후 관련 증명서와 거래명세서, 그리고 엑셀 파일이 지정한 폴더에 저장할 수 있습니다. 이 파일들은 사전 설정에 따라 다양한 형태로 출력될 수 있으나, 통상 증명서와 거래명세서는 이미지 파일로 저장됩니다. 만약 증명서의 페이지 수가 많을 경우, 이를 압축 파일 또는 PDF 파일로 변환해야 할 필요가 있습니다.

오늘은 파이썬과 Tkinter 라이브러리를 활용하여 특정 조건을 만족하는 이미지 파일들을 자동으로 찾아 PDF로 변환하고 변환된 이미지는 삭제를 하는 방법을 소개하겠습니다. 이 과정을 통해 이미지 파일 관리를 자동화하는 방법으로, 업무에 도움이 되셨으면 합니다.

전체코드

코드분석

1. Tkinter로 폴더 선택하기

먼저, 사용자 인터페이스를 구성하지 않고 폴더 선택 다이얼로그만 사용하기 위해 Tkinter의 Tk() 객체를 생성하고 withdraw() 메소드를 사용해 루트 윈도우를 숨깁니다. 이렇게 하면, 복잡한 윈도우 없이 폴더 선택 창만 띄울 수 있습니다.

2. 특정 조건의 파일 검색

선택한 폴더에서 'L'로 시작하는 이미지 파일들만 필터링합니다. 파일 형식은 png, jpg, jpeg를 포함합니다. 간결한 리스트 생성 방법(리스트 컴프리헨션)을 활용하여, 특정 조건을 만족하는 파일들만을 선별적으로 리스트에 포함시킵니다.

3. 이미지 파일을 PDF로 변환

이미지 파일들을 PIL 라이브러리를 사용해 열고, RGB 모드로 변환한 후, 첫 번째 이미지를 기준으로 나머지 이미지들을 모아 PDF를 생성합니다. 이후 변환된 이미지는 삭제합니다.

이상으로 파이썬과 Tkinter를 활용한 이미지 파일 자동 처리 방법에 대해 알아보았습니다. 이 코드를 기반으로 여러분만의 코드로 만들어 활용하셔서 업무에 도움이 되셨으면 합니다. 감사합니다.