PHP에서 PDF파일 생성하기

by 조쉬 posted Feb 27, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

PHP에서 PDF를 만들어야 하는데 많은 고민을 하고 PDFLib, ClibPDF 등을 이용하는데는 라이센스문제로 어쩌나 고민하던중...
이제서야 FPDF PDF Generator를 알게 되었고.. 단순히 어떤 라이브러리 없이 PHP만으로 해결되는것을 알게 되었다는...
참나.. ㅠㅠ

어째꺼나 FPDF를 모두 소스 분석을 한것은 아니지만 그냥 제공된 Class를 이용해서 PDF를 만드는데는 무리 없어 보인다.

http://www.fpdf.org 에서 해당 소스를 받을 수 있으며 한국어를 지원하는 PDF_Korean Class 도 함께 찾을 수 있다.

아래 예문은 FPDF Class 및 PDF_Korean Class 를 모두 다운로드 받아서 해당 디렉토리에 위치해 놓은 후 개발된 소스이다.


<?php 
/*************************************************************** 
프로그램명 : FPDF를 이용한 PHP에서 PDF 파일 출력하기 예제 
작성자 : 윤영식 (2006-08-04 오후 5:16) 
***************************************************************/ 

// FPDF : http://www.fpdf.org 
require('/usr/lib/php/fpdf/korean.php'); 

class PDF extends PDF_Korean 
{ 
//Page header 
function Header() 
{ 
$this->SetLineWidth(1); 
$this->SetDrawColor(0,101,179); 
$this->Line(0,15,297,15); 
} 

//Page footer 
function Footer() 
{ 
//Position at 1.5 cm from bottom 
$this->SetY(-16); 
//Arial italic 8 
$this->SetFont('Arial','I',8); 
//Page number 
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); 

$this->Image('img/ncafe_nar07.jpg',264,197,27,0,JPG,"http://ncafe.net"); 

$this->SetLineWidth(3); 
$this->SetDrawColor(0,101,179); 
$this->Line(0,203,260,203); 
} 
} 

$pdf=new PDF(L); 
$pdf->SetCompression(false); 
$pdf->SetAuthor("YoungSick. Yoon"); 
$pdf->SetCreator("WIZARD PHP FPDF Creator"); 
$pdf->SetSubject("PHP Code For PDF"); 
$pdf->SetTitle("PHP Code For PDF"); 

$pdf->SetDisplayMode(fullpage); 
$pdf->AliasNbPages(); 
$pdf->AddUHCFont("굴림","Gulim"); 
$pdf->SetFillColor(200,200,200); 

$pdf->Open(); 

$pdf->AddPage(); 
$pdf->SetLineWidth(4); 
$pdf->SetDrawColor(0,130,200); 
$pdf->Line(50,80,110,80); 
$pdf->SetDrawColor(200,200,200); 
$pdf->Line(115,80,175,80); 
$pdf->SetDrawColor(0,130,200); 
$pdf->Line(180,80,240,80); 

$pdf->SetFont('굴림','',20); 
$pdf->Text(90,75,"PHP로 PDF 출력하기(FPDF이용)"); 

$pdf->SetFont('굴림','',15); 
$pdf->Text(135,150,"nCafe.net"); 

$pdf->AddPage(); 

$pdf->Output(); 
$pdf->Close(); 
?>