오늘도 한 뼘 더

[Docker] pdf 파일의 한글 깨짐 현상을 Dockerfile로 해결하기 본문

DevOps & Infra/Docker

[Docker] pdf 파일의 한글 깨짐 현상을 Dockerfile로 해결하기

나른한댕댕이🐶 2023. 2. 9. 09:21
728x90
반응형

  # 배경  

2023.01.16 - [DevOps & Infra/Docker] - [Docker] Dockerfile 이용해 wkhtmltopdf 설치하기

 

[Docker] Dockerfile 이용해 wkhtmltopdf 설치하기

# 배경 html파일을 pdf로 변환해 주는 `wkhtmltopdf` 명령어를 사용하기 위해서 Docker Container 내부에 wkhtmltopdf를 설치해야 한다. 직접 설치를 하는 방법도 있지만, 직접 설치를 하면 Docker 컨테이너를 배

baekji919.tistory.com

wkthmltopdf를 사용하여 html을 pdf로 변경하는 코드가 있는데 Dockerfile에 해당 패키지를 설치하는 명령어를 진행한 뒤 한글이 깨지는 문제가 발생하였다.

한글 폰트를 적용하기 위해 Dockerfile을 수정해야 한다. 

 

  # Dockerfile에 적용하기  

코드에 폰트 파일이 있어 따로 폰트를 설치하는 것은 필요하지 않았고 Dockerfile에 해당 폰트를 복사, 설치하는 명령어가 필요하였다. 

 

수정 전 Dockerfile

FROM golang:1.19 AS builder
WORKDIR /go/src/test
COPY . .

RUN go mod download
RUN go install -ldflags '-w -extldflags "-static"'

WORKDIR /go/bin/

# copy template files to image
COPY --from=builder /go/src/test/template/* ./template/
# copy config files to image
COPY --from=builder /go/src/test/config/*.json ./config/
# copy execute file to image
COPY --from=builder /go/bin/test .

 

수정 후 Dockerfile

FROM golang:1.19 AS builder
WORKDIR /go/src/test
COPY . .

RUN go mod download
RUN go install -ldflags '-w -extldflags "-static"'

WORKDIR /go/bin/

# copy font files to image
COPY --from=builder /go/src/test/template/SpoqaHanSansLight.ttf /usr/share/fonts/spoqafont/

RUN fc-cache

# copy template files to image
COPY --from=builder /go/src/test/template/* ./template/
# copy config files to image
COPY --from=builder /go/src/test/config/*.json ./config/
# copy execute file to image
COPY --from=builder /go/bin/test .

 

728x90
반응형
Comments