wkhtmltopdf 설치 방법(Amazon Linux2/Alpine Linux)

wkhtmltopdf 설치 방법(Amazon Linux2/Alpine Linux)

2022-10-06 last update

7 minutes reading AWS wget AmazonLinux2 wkhtmltopdf rpm
컨테이너에 wkhtmltopdf를 인스톨했을 때에 여러가지 붙어 있었으므로 메모했습니다.
기본적인 절차는 아래에서 확인.
htps : ///오.x. 코 m / 자 / 9mcv

Amazon Linux의 경우



1.wkhtmltopdf 다운로드



공식 리포지토리에서 필요한 버전의 패키지를 다운로드합니다.
cd /tmp
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.centos6.x86_64.rpm

2. 필수 폰트 설치



rpm 명령으로 설치하는 경우, 없으면 wkhtmltopdf를 설치할 때 화가 나기 때문에 어쩔 수 없습니다.
나중에 설명하지만 yum에서
yum install -y xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 

3.wkhtmltopdf 설치



여기에서 참조 원본 페이지처럼 작동하지 않았던 곳. 설치 명령은 다음과 같습니다.
rpm -Uvh wkhtmltox-0.12.6-1.centos6.x86_64.rpm

실행해 보면 ...
rpm -Uvh wkhtmltox-0.12.6-1.centos6.x86_64.rpm
error: Failed dependencies:
        openssl is needed by wkhtmltox-1:0.12.6-1.centos6.x86_64

아무래도 다운로드·저장된 파일명이 요구되고 있는 파일명과 다른 모습.
pwd
/tmp
ls -ltr
total 13252
-rw-r--r-- 1 root   root   13564280 Jun 11  2020 wkhtmltox-0.12.6-1.centos6.x86_64.rpm

덧붙여서 rpm의 옵션은 아래와 같은 내용.

-U : rpm -U는 패키지의 필요에 따라 업그레이드 또는 설치 기능 중 하나를 실행할 수 있습니다.
-vh : -v 및 -h 옵션 (-U와 결합)에 따라 rpm은 상세 출력을 표시하고 해시 마크를 사용하여 진행 미터를 표시합니다.

왜 다운로드한 파일명 그대로 사용할 수 없을 것이다.
그건 그렇고, openssl이 원하는 파일 이름으로 다운로드 할 수없는지 시도한 결과, 404 오류.
파일명의 변경도 생각했지만 그것은 다른 생각이 든다.
패키지 종속성을 살펴보자.
rpm -qRp wkhtmltox-0.12.6-1.centos6.x86_64.rpmca-certificates
fontconfig
freetype
glibc
libX11
libXext
libXrender
libjpeg
libpng
libstdc++
openssl
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
xorg-x11-fonts-75dpi
xorg-x11-fonts-Type1
zlib

이 의존관계에 있는 것들은 모두 인스톨 되고 있는 것일까.
일단 yum 커맨드에서도 시험해 보는 것에.
yum install -y wkhtmltox-0.12.6-1.centos6.x86_64.rpm
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/3): make-3.82-24.amzn2.x86_64.rpm                       | 420 kB  00:00:00     
(2/3): openssl-1.0.2k-19.amzn2.0.4.x86_64.rpm              | 495 kB  00:00:00     
(3/3): openssl-libs-1.0.2k-19.amzn2.0.4.x86_64.rpm         | 1.2 MB  00:00:00 

부족하다고 생각되는 패키지의 다운로드로부터 해 주는 모습.
그 결과,
wkhtmltopdf -V
wkhtmltopdf 0.12.6 (with patched qt)

설치되었습니다!
yum이라면 의존 패키지도 함께 설치해주기 때문에 잘 어울린다.

Alpine Linux의 경우



같은 qt 패치가 적용된 패키지를 설치하려고 하면 공식에서는 준비가 없는 것 같다.
issue에서 여러 가지 상호 작용이 있지만 결국 패치 적용 버전을 만들지 않은 것 같습니다.
htps : // 기주 b. 이 m / wkhtml과 pdf / pac cgin g / 이스에 s / 2

아래와 같은 정보를 참고로 스스로 패치를 대고 밖에 없는 것 같다.
(Alpine Linux 및 wkhtmltopdf 자체 버전에 따라 달라질 수 있음)
htps : // 기주 b. 코 m / 아아 y y b / 도 c 케 r 아 l 피네 - wkhtml 및 pdf / b b b

■덤



막상 사용하려고 하면 문자 깨진 발생!



작업은 root이고 실제로 사용하는 것은 apache이므로 권한 문제?
라고 생각하면 읽기 가능.
ls -ltr /usr/share/fonts/IPAexfont00301/          
total 13524
-rw-r--r-- 1 root root 7776964 Dec 21 16:17 ipaexm.ttf
-rw-r--r-- 1 root root 6041284 Dec 21 16:17 ipaexg.ttf
-rw-r--r-- 1 root root    1592 Dec 21 16:17 Readme_IPAexfont00301.txt
-rw-r--r-- 1 root root   20564 Dec 21 16:17 IPA_Font_License_Agreement_v1.0.txt

이때 서둘러 수정했으므로, 어떻게 대응했는지 잊어 버렸습니다,,
호출하는 쪽의 코드를 수정해 개선한 것 같은.
다음 글자 깨짐을 만나면 이번은 제대로 쓰자.