파이썬 - 투명한 배경을 가진 이미지를 PDF로 저장하기
2021. 12. 15. 00:13ㆍIT
import img2pdf
from PIL import Image
im = Image.open("../Resources/tmp/trans.png")
bg = Image.new("RGB", im.size, (255,255,255))
bg.paste(im,im)
bg.save("../Resources/tmp/trans.jpg")
with open('../Resources/tmp/trans.pdf', "wb") as ff:
ff.write(img2pdf.convert('../Resources/tmp/trans.jpg'))
투명한 배경을 가진 이미지를 img2pdf를 이용해서 pdf로 저장하는 루틴이다. 여기서 trans.png 파일은 alpha channel을 가지고 있어 배경이 투명하다. 이 파일을 img2pdf를 이용해서 pdf로 저장을 하려고 하면 에러가 발생을 하기 때문에 alpha channel을 없애고 투명 대신 흰색으로 칠해서 jpg로 변환을 한다. 변환된 jpg 파일을 이용해서 img2pdf로 pdf 변환을 한다.
흰색 배경을 가진 동일한 크기의 이미지를 생성하고 흰색 이미지에 투명한 배경이 있는 이미지를 paste하여 alpha channel을 없앤다. 포토샵에서 두 개의 레이어를 합하는 것과 같은 Scheme이라고 생각하면 이해가 쉽겠다.
반응형
'IT' 카테고리의 다른 글
[python/pywinauto] cmd.exe에서 출력 읽기 (0) | 2022.01.07 |
---|---|
파이썬 배열의 기초 (0) | 2021.12.15 |
Python / Image to PDF (0) | 2021.10.29 |
Python Curve Editor (0) | 2021.08.06 |
Python Image Crop Code (0) | 2021.08.06 |