Python / Image to PDF
2021. 10. 29. 09:02ㆍIT
Python에서 Image를 PDF로 저장하는 방법을 검색해 보면 다양하게 찾을 수 있다. 하지만 내가 원하는 것은 PDF에 이미지를 담아 출력하면서 DPI를 같이 출력하기를 원했다. pdf2image부터 다양하게 사용을 해 왔었는데 DPI를 같이 저장한 경우는 없었고 지금 개발 중인 프로그램에서는 PIL과 reportlab을 사용 중이었다. 생각보다 인터넷에 자료가 많지는 않았다. PIL은 좋기는 한데 RGBA를 PDF로 저장할 수 없다는 메시지가 떠서 reportlab을 잠시 사용을 했다. 하지만 저장하는 이미지의 dpi가 원본은 150인데 72로 바뀌어 저장이 되었고 resolution은 그대로 였다. 큰 문제는 아닐 수 있으나 Client가 바꿔달라고 하기에 방법을 찾았다. 다만 RGBA로 저장할 필요는 없어졌다. 결국은 PIL로 돌아와 RGBA인 png에서 jpg로 바꾸어 해결을 했고, 일반적으로 dpi=(150,150)으로 해줬었던 PIL이 PDF로 저장을 할 때는 resolution=150으로 해 준다는 점이 달랐다.
from PIL import Image
fname = "../Resources/test"
im_up = Image.open("../Resources/tmp/output.png")
bg_up = Image.new("RGB", im_up.size, (255, 255, 255))
bg_up.paste(im_up, im_up)
bg_up.save("../Resources/tmp/output.jpg")
bg_up = Image.open("../Resources/tmp/output.jpg")
filename = fname + "01.PDF"
bg_up.save(filename, resolution=150)
반응형
'IT' 카테고리의 다른 글
파이썬 배열의 기초 (0) | 2021.12.15 |
---|---|
파이썬 - 투명한 배경을 가진 이미지를 PDF로 저장하기 (0) | 2021.12.15 |
Python Curve Editor (0) | 2021.08.06 |
Python Image Crop Code (0) | 2021.08.06 |
Python Image + Masking Image 합성 (0) | 2021.08.06 |