본문 바로가기

PHP/TCPDF

[PHP] TCPDF 상단 헤더 변경하기

반응형




참고 : https://tcpdf.org/examples/example_001




기본적으로 TCPDF 기본 샘플 문서를 보면 상단에 아래와같은  TCPDF  로고가 나오는 것을 확인 할 수 있다.



이제 이 상단헤더의 로고와 내용을 변경하여 우리가 원하는 형태로 변경해서 사용해 보자.





01. 먼저  TCPDF 와 교체할 로고 이미지 파일을 /usr/share/php/tcpdf/examples/images 경로에 업로드 한다.





02. 이제 아래 코드를 작성하고 웹 브라우저로 실행시킨다.

 tcpdf_test_03.php

<?php

require_once "tcpdf/tcpdf_import.php";


$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, "UTF-8", false);


// 상단 헤더 변경

$pdf -> SetHeaderData(

 "wicked_logo.jpg"                  // 위에서 올린 이미지 파일명을 기입한다.

, PDF_HEADER_LOGO_WIDTH      // 등록하지 않았다면 ""(빈값)으로 표기하자.

, "TCPDF 테스트 003"

, "현대마법의 공방 - http://wickedmagic.tistory.com/\nyinglong200@me.com"

, array(0, 64, 255)

, array(0, 64, 128)

);

$pdf -> setFooterData(array(0, 64, 0), array(0, 64, 128));

// 헤더, 푸터 폰트 한글로 변경

$pdf -> setHeaderFont(Array("nanumgothic", "", PDF_FONT_SIZE_MAIN));

$pdf -> setFooterFont(Array("nanumgothic", "", PDF_FONT_SIZE_DATA));

$pdf -> SetDefaultMonospacedFont("nanumgothic");

$pdf -> SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);

$pdf -> SetHeaderMargin(PDF_MARGIN_HEADER);

$pdf -> SetFooterMargin(PDF_MARGIN_FOOTER);


$pdf -> SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);


$pdf -> setImageScale(PDF_IMAGE_SCALE_RATIO);


if(@file_exists(dirname(__FILE__)."/lang/eng.php")) {

require_once(dirname(__FILE__)."/lang/eng.php");

$pdf -> setLanguageArray($l);

}


$pdf->setFontSubsetting(true);

// 기본 폰트 및 글자 사이즈 변경

$pdf -> SetFont("nanumgothic", "", 10, "", true);

$pdf -> AddPage();


$pdf -> setTextShadow(array(

 "enabled" => true

, "depth_w" => 0.2

, "depth_h" => 0.2

, "color" => array(196, 196, 196)

, "opacity" => 1

, "blend_mode" => "Normal"

));


// 출력내용

$html = "<h1>■ TCPDF 헤더 변경하기</h1>";

$html .= "<p>TCPDF 헤더 디자인을 변경해 보았습니다.</p>";



$pdf -> writeHTMLCell(0, 0, "", "", $html, 0, 1, 0, true, "", true);


$pdf -> Output(getcwd()."/example_test_03.pdf", "F");


?>






03. 출력결과는 아래와 같이 상단 헤더 부분이 변경된 것을 확인 할 수 있다.







반응형