파이썬을 이용한 image to pdf 변환 프로그램
아래 홈페이지를 참고?아니 그냥 따라했습니다.
https://datatofish.com/images-to-pdf-python/
https://datatofish.com/images-to-pdf-python/
작업환경
OS : window 10
IDE : PyCharm
Version : Python 3.7.7
먼저 pillow가 없으신 분은 pip을 사용하여 다운받아줍니다.
그리고 다음과 같이 작성하면 이미지파일을 pdf로 만들수 있습니다.
from PIL import Image image1 = Image.open('C:/Temp/python_proj/img2pdf/1.PNG') im1 = image1.convert('RGB') im1.save('C:/Temp/python_proj/img2pdf/pdfout/test.pdf')
한개의 이미지를 사용하여 만들 수도 있지만, 여러개의 이미지를 pdf로 만들어야하는 경우도 있습니다.
이럴땐, 여러개를 만들어줍니다.
from PIL import Image image1 = Image.open('C:/Temp/python_proj/img2pdf/1.PNG') image2 = Image.open('C:/Temp/python_proj/img2pdf/2.PNG') image3 = Image.open('C:/Temp/python_proj/img2pdf/3.PNG') image4 = Image.open('C:/Temp/python_proj/img2pdf/4.PNG') im1 = image1.convert('RGB') im2 = image1.convert('RGB') im3 = image1.convert('RGB') im4 = image1.convert('RGB') imagelist = [im2,im3,im4] im1.save('C:/Temp/python_proj/img2pdf/pdfout/test.pdf',save_all=True, append_images=imagelist)
위 처럼 작성하면 여러장으로 이루어진 pdf를 작성하실 수 있습니다.
하지만 10장이 넘어가고 한다면 귀찮아집니다. 그러니 특정 폴더 안에 있는 이미지 전체를 하는 방법을 추가합시다.
from PIL import Image import os path_dir = 'C:/Temp/python_proj/img2pdf/imgfile' file_list = os.listdir(path_dir) img_list = [] img_path = 'C:/Temp/python_proj/img2pdf/imgfile/'+file_list[0]; im_buf = Image.open(img_path) cvt_rgb_0 = im_buf.convert('RGB') for i in file_list: img_path = 'C:/Temp/python_proj/img2pdf/imgfile/' + i; im_buf = Image.open(img_path) cvt_rgb = im_buf.convert('RGB') img_list.append(cvt_rgb) # image = Image.open(img_path) # image = image.convert('RGB') # pdf_list.insert(image) del img_list[0] cvt_rgb_0.save('C:/Temp/python_proj/img2pdf/pdfout/test.pdf',save_all=True, append_images=img_list)
Python은 C랑 달라서 아직 어색해서 잘 모르겠네요.
참고한 홈페이지에선 tkinter로 GUI를 하셨는데, 저는 PyQT로 해보려 합니다.
추후에요... ㅎㅎ
댓글
댓글 쓰기