이번 강의는 PDF 파일의 각 페이지를 이미지 파일로 저장하는 파이썬 프로그램을 만들어 본다. 최종 목적은 PDF 파일을 동영상 파일로 변환하는 것이다. 물론, PDF 파일의 텍스트를 오디오로 변환하는 기능까지 추가할 예정이다.
최종 프로그램이 성공한다면 모든 진행 내용을 PDF로 정리한 후 동영상으로 변환해서 유튜브에 올릴 생각이다.
오늘의 과제는 'PDF 파일의 모든 페이지를 이미지 파일로 저장하는 파이썬 프로그램'을 만드는 것이다.
필요한 라이브러리를 설치한다.
프로그램에 필요한 모듈은 pdf2image와 poppler이다.
1. pdf2image 설치하기.
PDF 파일에서 PIL 객체를 생성하고 이미지 처리를 할 수 있다.
command shell에서 아래의 명령으로 pdf2image 모듈을 설치한다.
pip install pdf2image
2. poppler 모듈 설치하기.
poppler 모듈은 PDF 문서를 읽고 렌더링하고 변경할 수 있다.
실행 파일을 다운로드해야 한다.
https://github.com/oschwartz10612/poppler-windows/releases/
압축 파일을 다운로드하고 내 컴퓨터의 적당한 위치에 압축을 푼다.
bin 폴더가 있는 전체 경로를 기억하자. 나중에 사용해야 한다.
PDF 파일의 각 페이지를 이미지로 저장하는 파이썬 프로그램을 만든다.
파이썬 프로그램은 간단하다.
import pdf2image
def save_pdf_to_image(pdf_file_path, out_dir):
poppler_path = 'E:/workspace/python/pdf_audiobook/poppler-21.10.0/Library/bin/'
images = pdf2image.convert_from_path(pdf_file_path, poppler_path = poppler_path)
for i in range(len(images)):
images[i].save(out_dir + 'page' + str(i) + '.jpg', 'JPEG')
def main():
root_dir = 'E:/workspace/python/pdf_audiobook/'
pdf_file_name = 'audiobook_test.pdf'
pdf_file_path = root_dir + pdf_file_name
out_dir = root_dir
save_pdf_to_image(pdf_file_path, out_dir)
if __name__ == '__main__':
main()
save_pdf_to_image(pdf_file_path, out_dir)
pdf_file_path
입력으로 사용할 PDF 파일의 전체 경로를 전달한다.
out_dir
이미지가 저장될 위치를 전달한다.
poppler_path는 poppler 라이브러리를 저장한 파일 경로를 입력한다.
실행하면 아래와 같이 output_dir에 이미지 파일이 생성된다.
page0.jpg를 열어 보자.
성공적으로 저장되었다.
다음 편에서는 PDF 파일의 텍스트를 추출하고 TTS(Text-to-Speech) 라이브러리를 이용하여 음성 파일로 저장하는 파이썬 프로그램을 만들 예정이다.
"PDF 이미지 추출 윈도우 어플리케이션" 만드는 방법입니다. 궁금하신 분은 참고하세요.
'나는 개발자다 > 실전 파이썬' 카테고리의 다른 글
유튜브 자동화 #3. 이미지와 음성 파일로 동영상 만들기 (2) | 2021.11.07 |
---|---|
유튜브 자동화 #2. PDF 텍스트 추출, 음성 변환, MP3 파일로 저장 (5) | 2021.11.03 |
파이썬 코딩 팁 #01. 리스트 컴프리헨션 (List Comprehension) (0) | 2021.10.26 |
실전 코딩 #01. 상생소비지원금 계산기, 파이썬으로 만들어 보자. (4) | 2021.10.07 |
윈도우 파이썬 설치 방법, 그리고 실행 방법 3가지 (6) | 2021.09.30 |