일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- PostgreSQL
- Tkinter
- Excel
- string
- Redshift
- Google Spreadsheet
- SQL
- PANDAS
- list
- Kotlin
- dataframe
- django
- GIT
- math
- Java
- 파이썬
- Github
- array
- numpy
- gas
- PySpark
- Python
- Mac
- google apps script
- Google Excel
- c#
- hive
- matplotlib
- Apache
- Today
- Total
달나라 노트
Python PIL/Pillow : Image (Python으로 image를 pdf로 변환하기, 이미지 형식 변환, 이미지 확장자 변환, webp to png, jpeg to png) 본문
Python PIL/Pillow : Image (Python으로 image를 pdf로 변환하기, 이미지 형식 변환, 이미지 확장자 변환, webp to png, jpeg to png)
CosmosProject 2021. 7. 26. 21:57
Python을 이용해 image 파일을 pdf로 변환하는 방법을 알아봅시다.
pip install PIL
pip install Pillow
사용되는 라이브러리는 PIL 입니다.
PIL이 간혹 설치가 제대로 되지 않는 경우가 있을 수 있는데 그럴 땐 Pillow 패키지를 설치합시다.
(Pillow 패키지를 설치해도 PIL 라이브러리는 이용할 수 있습니다.)
from PIL import Image
img = Image.open(r'test/img_test_1.png')
img_rgb = img.convert('RGB')
img_rgb.save('test/pdf_test_1.pdf')
위 예시는 test directory에 있는 img_test_1.png라는 이미지파일을 test directory안에 pdf_test_1.pdf라는 이름의 pdf 파일로 변환하는 코드입니다.
from PIL import Image
img_1 = Image.open('test/img_test_1.png')
img_2 = Image.open('test/img_test_2.png')
img_3 = Image.open('test/img_test_3.png')
img_rgb_1 = img_1.convert('RGB')
img_rgb_2 = img_2.convert('RGB')
img_rgb_3 = img_3.convert('RGB')
img_main = img_rgb_1
list_imgs = [img_rgb_2, img_rgb_3]
img_main.save('test/pdf_test_1.pdf', save_all=True, append_images=list_imgs)
위처럼 여러 image를 open & convert한 후에,
하나의 image를 save하면서 append_images를 이용하여 나머지 image list를 전달해주면
여러 개의 image file을 하나의 pdf file로 묶어서 생성할 수 있습니다.
save method의 save_all option은 반드시 True로 생성되어야합니다.
다음에는 이미지 형식 변환입니다.
이미지 형식 변환은 더 간단합니다.
원하는 이미지를 Image.open()으로 열어서 RGB 형태로 전환한 후 변환된 RGB 형태의 이미지 데이터를 원하는 확장자(.png, .jpeg, ...)로 저장해주면 끝입니다.
다음은 이미지 변환의 몇가지 예시를 나타낸 코드입니다.
아래의 코드들은 이미지 확장자 간의 몇가지 변환 예시이며 동일한 형태로 확장자만 변경하여 원하는 대부분의 이미지 확장자 변경을 할 수 있습니다.
png -> jpeg
from PIL import Image
img = Image.open('test_image.png').convert('RGB')
img.save('test_image_converted.jpeg').convert('RGB')
jpg -> png
from PIL import Image
img = Image.open('test_image.jpg').convert('RGB')
img.save('test_image_converted.png').convert('RGB')
webp -> png
from PIL import Image
img = Image.open('test_image.webp').convert('RGB')
img.save('test_image_converted.png').convert('RGB')
png -> webg
from PIL import Image
img = Image.open('test_image.png').convert('RGB')
img.save('test_image_converted.webp').convert('RGB')
'Python > Python ETC' 카테고리의 다른 글
Python Slack API : slackclient library 설치. slackclient module not found error (0) | 2021.09.08 |
---|---|
Python Slack API : Slack Webhook 등록. Slack App 생성하고 설치하기 (0) | 2021.09.08 |
Python collections : defaultdict (default값이 있는 dictionary) (0) | 2021.07.15 |
Python : tqdm (진행 상황 bar 표시하기) (0) | 2021.06.04 |
Python으로 HTML 태그의 특정 속성값 가져오기 (0) | 2021.05.17 |