<개인공부>/[Python]

[파이썬]Python으로 이미지 파일을 PDF로 변환하는 법: img2pdf 사용 가이드

데브수달 2024. 11. 17. 18:48
728x90
반응형

img2pdf는 파이썬에서 이미지를 PDF로 변환하는 간단하고 효율적인 모듈입니다. 

 

이 모듈은 JPEG 이미지를 직접 PDF에 포함시키는 방식으로 작동하며, 다양한 이미지 포맷을 지원합니다.

 

모듈 설치
img2pdf모듈은 PyPI에서 설치할 수 있습니다. 다음 명령어를 사용하여 설치할 수 있습니다:

bash

pip install img2pdf




주요 기능
이미지 포맷 지원: JPEG, PNG 등 다양한 이미지 포맷을 지원합니다.
PDF 변환: 여러 이미지를 하나의 PDF 파일로 변환할 수 있습니다.
간단한 API: 사용하기 쉬운 인터페이스를 제공합니다.
사용 가능한 메서드
image2pdf 모듈의 주요 메서드는 다음과 같습니다:

img2pdf.convert(): 이미지를 PDF로 변환하는 메서드입니다. 이미지 파일의 경로를 인자로 받아 PDF 파일로 변환합니다.
img2pdf.get_pdf(): 이미지 데이터를 PDF로 변환하여 바이트 스트림으로 반환합니다.

 

사용 예시
다음은 image2pdf 모듈을 사용하여 이미지를 PDF로 변환하는 간단한 예시입니다.

1. 단일 이미지 변환 

import img2pdf

# 변환할 이미지 파일 경로
image_path = "example.jpg"

# PDF로 변환
with open("output.pdf", "wb") as f:
    f.write(img2pdf.convert(image_path))

 

2. 여러 이미지 변환

import img2pdf
import os

# 변환할 이미지 파일들이 있는 디렉토리
image_folder = "images"
image_files = [os.path.join(image_folder, f) for f in os.listdir(image_folder) if f.endswith(('.jpg', '.png'))]

# PDF로 변환
with open("output.pdf", "wb") as f:
    f.write(img2pdf.convert(image_files))

추가 정보
문서화: PyPI img2pdf 페이지에서 더 많은 정보를 확인할 수 있습니다.
예제 코드: GeeksforGeeks에서 다양한 예제와 설명을 찾아볼 수 있습니다.
img2pdf모듈은 이미지 파일을 PDF로 변환하는 데 매우 유용하며, 간단한 코드로 쉽게 사용할 수 있습니다. 

이 모듈을 통해 여러 이미지를 하나의 PDF로 묶는 작업도 간편하게 수행할 수 있습니다.

 

img2pdf모듈은 주로 두 가지 메서드인 convert()와 get_pdf()를 중심으로 작동하지만, 이 외에도 다양한 사용 방법이 있습니다. 아래에서 이 모듈의 기능을 좀 더 자세히 설명하겠습니다.

사용 가능한 메서드
img2pdf.convert():

이미지를 PDF로 변환하는 메서드입니다.
단일 이미지 또는 여러 이미지를 리스트로 받아 PDF로 변환할 수 있습니다.


예시:
단일 이미지: img2pdf.convert("image.jpg")
여러 이미지: img2pdf.convert(["image1.jpg", "image2.jpg"])
img2pdf.get_pdf():

이미지 데이터를 PDF로 변환하여 바이트 스트림으로 반환합니다.
이 메서드는 PDF 파일을 직접 저장하지 않고, 메모리에서 PDF 데이터를 처리할 수 있게 해줍니다.


추가적인 사용 방법
디렉토리 내 모든 이미지 변환: 특정 디렉토리 내의 모든 이미지 파일을 PDF로 변환할 수 있습니다.
서브디렉토리 포함: os.walk()를 사용하여 서브디렉토리 내의 모든 이미지를 포함하여 변환할 수 있습니다.
글로벌 패턴 매칭: glob 모듈을 사용하여 특정 패턴에 맞는 모든 이미지를 변환할 수 있습니다.

 

예시 코드 

1. 디렉토리 내 모든 이미지 변환

import img2pdf
import os

# 변환할 이미지 파일들이 있는 디렉토리
image_folder = "images"
image_files = [os.path.join(image_folder, f) for f in os.listdir(image_folder) if f.endswith(('.jpg', '.png'))]

# PDF로 변환
with open("output.pdf", "wb") as f:
    f.write(img2pdf.convert(image_files))

2. 서브 디렉토리 포함

import img2pdf
import os

# 변환할 이미지 파일들이 있는 디렉토리
image_folder = "images"
image_files = []

for root, dirs, files in os.walk(image_folder):
    for file in files:
        if file.endswith(('.jpg', '.png')):
            image_files.append(os.path.join(root, file))

# PDF로 변환
with open("output.pdf", "wb") as f:
    f.write(img2pdf.convert(image_files))

 

결론
img2pdf모듈은 주로 convert()와 get_pdf() 메서드를 사용하지만, 다양한 방법으로 이미지를 PDF로 변환할 수 있는 유연성을 제공합니다. 여러 이미지를 한 번에 변환하거나, 디렉토리 내의 모든 이미지를 처리하는 등의 기능을 통해 사용자는 필요에 맞게 쉽게 활용할 수 있습니다.

이 모듈은 이미지 파일을 PDF로 변환하는 데 매우 유용하며, 간단한 코드로 쉽게 사용할 수 있습니다.

728x90
반응형