307. 파이썬으로 지정한 이미지 파일 PDF 병합 방법

거래처에 출고 자료를 등록하고 나면, 동일한 이력번호를 가진 증명서들이 'A.JPG', 'B.JPG'와 같은 이미지 파일로 저장됩니다. 각 거래처의 요구에 따라 이 이미지들을 개별 파일로 보내는 경우와 하나의 PDF 파일로 통합해서 보내달라는 요구가 있습니다. 이러한 요구사항을 효율적으로 처리하기 위해 파이썬을 사용하는 방법을 알아보겠습니다.

특히 오늘은 파이썬을 활용하여 여러 이미지 파일을 하나의 PDF 문서로 병합하는 방법에 대해 단계별로 설명드리겠습니다. 'A.JPG'와 'B.JPG' 같은 이미지 파일 쌍을 간편하게 하나의 PDF로 합치는 과정을 살펴보면서, 각 거래처의 요구에 적합한 문서를 생성하는 방법에 활용하셨으면 합니다.

전체코드

    [jd
  • [jd

    Tkinter 라이브러리 사용 : 이 스크립트는 Tkinter의 askdirectory() 함수를 사용하여 사용자가 이미지 파일이 있는 폴더를 선택할 수 있게 합니다. 이는 GUI 창 없이 실행되도록 설정되어 있습니다.

  • [jd

    Tkinter 라이브러리 사용 : 이 스크립트는 Tkinter의 askdirectory() 함수를 사용하여 사용자가 이미지 파일이 있는 폴더를 선택할 수 있게 합니다. 이는 GUI 창 없이 실행되도록 설정되어 있습니다.

    Tkinter 라이브러리 사용 : 이 스크립트는 Tkinter의 askdirectory() 함수를 사용하여 사용자가 이미지 파일이 있는 폴더를 선택할 수 있게 합니다. 이는 GUI 창 없이 실행되도록 설정되어 있습니다.

  • [jd

    파일 경로와 검사 : 선택된 폴더 내의 파일들 중에서 'A.JPG'와 'B.JPG'로 끝나는 파일들을 찾아서 쌍을 이루게 합니다. 이는 파일 이름을 기준으로 정렬하여 진행합니다.(참고 포스팅 : )

    파일 경로와 검사 : 선택된 폴더 내의 파일들 중에서 'A.JPG'와 'B.JPG'로 끝나는 파일들을 찾아서 쌍을 이루게 합니다. 이는 파일 이름을 기준으로 정렬하여 진행합니다.(참고 포스팅 : )

  • [jd

    PDF 생성 : reportlab 라이브러리를 사용하여 이미지를 PDF 페이지에 추가합니다. 각 이미지 쌍은 한 페이지에 두 이미지가 나란히 올라가도록 처리됩니다. A4 용지 크기의 가로 모드를 사용하여 각 이미지가 충분한 크기로 표시될 수 있도록 합니다.

    PDF 생성 : reportlab 라이브러리를 사용하여 이미지를 PDF 페이지에 추가합니다. 각 이미지 쌍은 한 페이지에 두 이미지가 나란히 올라가도록 처리됩니다. A4 용지 크기의 가로 모드를 사용하여 각 이미지가 충분한 크기로 표시될 수 있도록 합니다.

  • [jd

    오류 처리 : 이미지 로드 중 또는 파일이 존재하지 않을 경우, 오류 메시지를 출력하여 사용자가 문제를 인지할 수 있도록 합니다.

    오류 처리 : 이미지 로드 중 또는 파일이 존재하지 않을 경우, 오류 메시지를 출력하여 사용자가 문제를 인지할 수 있도록 합니다.

    코드분석

    1. Tkinter를 사용하여 사용자에게 폴더 선택 요청하기

    Tkinter 라이브러리를 사용하여 사용자가 폴더 선택 대화 상자를 볼 수 있도록 합니다. withdraw() 메소드는 루트 창을 숨겨 GUI가 보이지 않도록 하며, askdirectory() 함수는 사용자에게 폴더를 선택하도록 요청하고 선택된 폴더의 경로를 반환합니다.

    2. 선택한 폴더에서 특정 패턴의 파일 찾기

    os.listdir() 함수를 사용하여 선택된 폴더 내의 모든 파일을 리스트 형태로 가져옵니다. 간결한 리스트 생성 방법(리스트 컴프리헨션)을 사용하여 파일 이름이 'L'로 시작하고, 'A.JPG' 또는 'B.JPG'로 끝나는 파일들만 필터링하고 정렬합니다.

    3. 이미지 파일 쌍 만들기

    이미지 파일 이름 중 'A.JPG'로 끝나는 파일을 찾아 해당 파일의 'A.JPG'를 'B.JPG'로 변경하여 쌍을 만듭니다. 이렇게 하면 각 'A' 이미지 파일과 해당하는 'B' 이미지 파일을 쉽게 찾을 수 있습니다.

    4. 이미지 쌍을 PDF로 변환

    reportlab 라이브러리를 사용하여 PDF 파일을 생성합니다. 선택된 이미지 쌍을 페이지에 차례대로 추가하며, 각 이미지는 페이지의 절반 크기로 조정됩니다. 모든 이미지가 추가된 후, PDF를 저장합니다.

    위 사례를 통해 여러분도 필요한 이미지 파일을 효율적으로 PDF로 병합할 수 있게 되었기를 바랍니다.여러분의 다양한 프로젝트에 도움이 되길 바랍니다! 감사합니다.