Bookstack에서 pdf 출력시 한글 깨짐 현상
안녕하세요.
이곳에서 소개해주신 Bookstack을 설치해서 사용해보고 있습니다.
Joplin 노트를 Bookstack으로 옮겨보려고 이것저것 살펴보고 있는데요..
요게 PDF로 내려 받을 때 한글은 깨져서 출력이 되는 문제가 있더군요.
Bookstack 공식홈이나 도커 이미지(Linuxserver)에 보면 wkhtmltopdf를 사용하도록 설정해서 사용하라고 하는데...
매뉴얼대로 아래와 같이 .env 파일에 설정을 해도 에러가 뜹니다.
혹시 이 문제 해결하신분 계신가요?
해당 컨테이너에 접속해서 살펴보니 해당 위치에 파일이 없는 것 같던데...
도커 이미지 소개글에 적어 놓은걸 보면 저 위치가 맞는데... 제가 못찾는 것인지;;;
cd $HOME/docker/bookstack/data/www
vim .env
# -------------------------------------------------------------------
# Allow server-side fetches to be performed to potentially unknown
# and user-provided locations. Primarily used in exports when loading
# in externally referenced assets.
# Can be 'true' or 'false'.
ALLOW_UNTRUSTED_SERVER_FETCHING=true
WKHTMLTOPDF=/usr/bin/wkhtmltopdf
# -------------------------------------------------------------------
해결하셨나요? 같은 문제가 있었고 혹시 아직 해결 못하셨을까 싶어 댓글 달아 봅니다.
저는 도커 사용중인데, linuxserver/bookstack에서는 설치 명령어 등이 없는게 많아서 바이너리 파일 받아서 설치가 안 되더라고요. 그래서 이미지를 새로 build했습니다.
참고:
https://github.com/Surnet/docker-wkhtmltopdf
https://github.com/BookStackApp/BookStack/issues/719#issuecomment-915931747
Dockerfile은 아래와 같이 생성했습니다.
FROM surnet/alpine-wkhtmltopdf:3.16.2-0.12.6-full as wkhtmltopdf
FROM linuxserver/bookstack:latest
# Install dependencies for wkhtmltopdf
RUN apk add --no-cache \
libstdc++ \
libx11 \
libxrender \
libxext \
libssl1.1 \
ca-certificates \
fontconfig \
freetype \
ttf-dejavu \
ttf-droid \
ttf-freefont \
ttf-liberation \
# more fonts
&& apk add --no-cache --virtual .build-deps \
msttcorefonts-installer \
# Install microsoft fonts
&& update-ms-fonts \
&& fc-cache -f \
# Clean up when done
&& rm -rf /tmp/* \
&& apk del .build-deps
# Copy wkhtmltopdf files from docker-wkhtmltopdf image
COPY --from=wkhtmltopdf /bin/wkhtmltopdf /bin/wkhtmltopdf
이후 SSH에서
docker build --tag docker_korpdf .
이미지가 정상적으로 만들어졌으면 포테이너에서 스택 업데이트(북스택 이미지만 위에서 만든 docker_korpdf로 변경)
그리고 한글을 지원하는 폰트를 받아서(구글 폰트 사용 추천) 컨테이너 안의
/usr/share/fonts 폴더 안에 넣고 컨테이너에서 fc-chche -fv
그리고 북스택 설정>맞춤 최하단에 커스텀 HTML헤드에 https://github.com/BookStackApp/BookStack/issues/719#issuecomment-915931747에 있는 코드 참고하여 입력(위에서 넣은 폰트로 입력해야겠죠?)
아, 이 이미지를 사용한 경우 wkhtmltopdf 설치경로(환경변수)는 /bin/wkhtmltopdf 입니다.
혹시나 찾으실 다른 분들도 도움이 되길 바랍니다.
한글이 깨지는 것 뿐만 아니라 이모지 깨지는 것까지 해결하는 법을 제 블로그에 정리해서 올렸습니다. 아랫쪽 "팁2"를 참고하세요.
https://hamchobo.tistory.com/3
cmt alert