between 0 and 1

[PHP, PDF] TCPDF 한글 깨짐 해결 방법 본문

Software Development Engineering/PHP

[PHP, PDF] TCPDF 한글 깨짐 해결 방법

devxpert.yoon 2021. 1. 29. 23:30
728x90
반응형

TCPDF 를 이용해 PDF 를 만들 때, 한글이 깨지는 현상이 생길 수 있다.

 

이 원인은 서버에 한글 폰트가 없기 때문에 발생하는 것으로, 

 

서버에 한글 폰트를 추가하고, TCPDF 에 폰트를 링크를 걸어주면 해결할 수 있다.

 

 

1. TCPDF 폰트추가도구 확인

tcpdf_addfont.php 파일이 있어야 폰트를 추가할 수 있다

# cd /usr/share/php/tcpdf/tools/
# ll

 

 

2. (리눅스) 서버에 폰트 추가

 

 - 나눔폰트 설치  

폰트 설치
# cd /usr/share/fonts/
# wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip
# unzip NanumFont_TTF_ALL.zip -d NanumFont
# rm -f NanumFont_TTF_ALL.zip

폰트 추가
# ls /usr/share/fonts/NanumFont/*
# ls /usr/share/fonts/NanumFont/* | xargs -I TTF php tcpdf_addfont.php -i TTF
# ll /usr/share/php/tcpdf/fonts/ | grep nanum

  - TCPDF에서 nanumbrush, nanumgothicb, nanumgothic, nanumpen 이름으로 폰트 사용 가능

 

 

3. TCPDF 폰트 설정

사용방법 1

$pdf->SetFont('nanumgothic'); 
$pdf->SetDefaultMonospacedFont('nanumgothic_coding');


사용방법 2
AddFont ($family, $style='', $fontfile='', $subset='default')
SetFont ($family, $style='', $size=null, $fontfile='', $subset='default', $out=true)
SetDefaultMonospacedFont ($font)
setHeaderFont ($font)
setFooterFont ($font)

 

728x90
반응형