본문 바로가기
프로그래밍 공부(정리)/Python

[PDFKIT] python에서 html을 pdf로 변환하기 - 사전준비

by 프룹 2023. 2. 19.
반응형

Python을 이용해 HTML => PDF로 변환하는 방법을 알아보려고 합니다.

 

만약 도커를 잘 모른다면, 이 글을 통해 도커를 간단히 배우고 사용하는 것을 추천합니다!

 

# 개발환경

OS : Ubuntu 18.04 (WSL2 Docker)

 

# Dockerfile

# Dockerfile
FROM python:3.8

COPY ./requirements.txt /
RUN pip install -r ./requirements.txt

# HTML to PDF Lib
RUN apt-get update && apt-get install -y wkhtmltopdf && apt-get install -y xvfb && apt-get install -y fontconfig
COPY ./SpoqaHanSansNeo_all.zip /usr/share/fonts/
RUN unzip /usr/share/fonts/SpoqaHanSansNeo_all.zip -d /usr/share/fonts/
RUN fc-cache -f -v

# COPY source code
ADD ./ /opt/

WORKDIR /opt/
# requirements.txt
pdfkit==1.0.0

 

우분투 내 존재하는 라이브러리를 이용해서 html이 pdf로 변환되기 때문에 몇 가지 라이브러리를 설치해야 합니다.

  • wkhtmltopdf - html2pdf 변환 라이브러리
  • xvfb - 브라우저를 띄우지 않고 브라우저에 해당하는 작업을 할 수 있게 가상 프레임을 생성
  • fontconfig - 폰트 설치를 위해

# 폰트

https://spoqa.github.io/spoqa-han-sans/en-US/#download

 

Spoqa Han Sans Neo

Spoqa unveil the new Spoqa Han Sans Neo, which has evolved in many ways. | 여러모로 개선을 거쳐 진화한 스포카 한 산스 네오를 공개합니다. | これまでいろいろ改善して進化した新しいスポカーハンサンスネオ

spoqa.github.io

 

사이트에 접근해서 Download All(약 90mb)을 이용해 폰트를 다운받았습니다.

 

# 최종 구성

폴더에 다음과 같이 파일을 구성하고 docker를 올리면 됩니다.

반응형

댓글