728x90
반응형
1. 들어가며
1.1 TCPDF - PHP class for PDF
- PDF 문서를 생성하는 PHP 라이브러리
- 오픈소스
- UTF-8 지원
- 라이선스 : LGPL
2. 설치 전 준비 작업
- 리눅스 unzip 설치
- TCPDF 설치
- TCPDF 한글 폰트 설치
3. TCPDF 설치 및 폰트 적용
3.1 TCPDF 다운로드 및 업로드
- 설치 주소 [GitHub] 최신 소스 사용 하고 싶으면 GitHub에서 최신소스 다운로드 진행
- https://jaist.dl.sourceforge.net/project/tcpdf 접속 후 tcpdf_6_3_2.zip 파일 직접 다운로드 후 자신의 서버에 업로드
- 필자는 wget 통해서 설치 진행
#자신의 서버의 /usr/share/php 폴더 다운로드 후 압축 해제
cd /usr/share/php/
wget https://jaist.dl.sourceforge.net/project/tcpdf/tcpdf_6_3_2.zip --no-check-certificate
unzip tcpdf_6_3_2.zip
3.2 나눔 폰트 설치
cd /usr/share/fonts/
wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip
unzip NanumFont_TTF_ALL.zip -d NanumFont
cd /usr/share/php/tcpdf/tools/
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
4. PDF 변환 PHP 예제 코드
<?php
require_once('/usr/share/php/tcpdf/examples/tcpdf_include.php');
$html = <<<EOD
<h3>PDF 변환 테스트</h3>
<i>PDF 변환 작업 완료</i>
EOD;
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
//$pdf->SetFont('nanumgothic', '', 14, '', true);
$pdf->SetFont('nanumgothic');
$pdf->SetDefaultMonospacedFont("nanumgothic_coding");
$pdf->AddPage();
$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);
//$pdf->Output(getcwd().'/temp.pdf', 'F'); // 실제 파일 생성됨
$pdf->Output('temp.pdf', 'I'); // 화면으로 보여줌
?>
5. TCPDF 오류
"TCPDF ERROR: Some data has already been output, can't send PDF file" 오류
- php버전에 따라 차이가 있어 아래 내용 추가 필요
- $pdf->Output 함수 실행 전 아래 내용 추가
ob_end_clean();
728x90
반응형