프로그래머의 지혜/Python_파이썬

파이썬(python)으로 이미지파일 PDF로 변환

LonleyEngineer 2023. 4. 17. 14:04
반응형

※ 저는 실생활을 위한 코딩을 하다보니 제가 부족한 점이 있을 수 있습니다. 날선 비판보다는 좋은 알고리즘 있으시면 추천부탁드립니다.

 

 

 

python을 이용하여 폴더안에 정렬된 이름으로 있는 image 파일을 pdf로 변환하는 간단한 코드를 작성해보았다.

 

스캔한 파일 등 이름이 정렬된 상태에서는 매우 간편하게 할 수 있다.

 

사용한 라리브러리는 PIL 이다.

 

pip install PIL
pip install Pillow

 

위와 같이 라이브러리를 설치하여 사용하면 된다. PIL 설치가 된다면 바로 사용하면 되고 안되면 Pillow 설치를 하면 된다.

 

 

코드는 생각보다 간단하다.

 

경로 변수에 이름이 정렬된 이미지 파일을 넣어두고

폴더 내에 존재하는 파일을 순차적으로 PDF로 저장하기 위한 형태로 변환한 후 PDF로 저장하면 끝이다.

from PIL import Image
import os


images_path = r'이미지파일경로'
image_list = []
for image in os.listdir(images_path):
    image_list.append(Image.open(os.path.join(images_path, image)).convert('RGB'))
    print(f"{image} 변환중")

image_list[0].save('파일이름.pdf',  save_all=True, append_images=image_list[1:])

 

여기서 마지막 save 함수의 인자로 지정된 save_all 은 반드시 True로 지정해야 한다.

첫번째 변환한 이미지 파일을 저장하면서 나머지 파일들을 리스트 형태로 append_images 인자에 전달하면 되는 형태다.

 

위 코드는 정말 쉽게 사용 가능하다 하지만 단점은 PDF 용량이 커서 부담스럽다는 단점이 있다.

압축이 거의 없기 때문에 더 그렇겠지만 몇장 안되는 이미지를 변환하기에는 충분한 코드이다.

 

참고로 아래는 PIL 라이브러리 도큐먼트 사이트이다.

https://pillow.readthedocs.io/en/stable/index.html

 

Pillow

Pillow is the friendly PIL fork by Jeffrey A. Clark (Alex) and contributors. PIL is the Python Imaging Library by Fredrik Lundh and contributors. Pillow for enterprise is available via the Tidelift...

pillow.readthedocs.io

 

반응형