php 로 pdf 로 만들어 봅시다~

컴터/php 2009. 8. 25. 00:16
웹사이트 게시물을 그대로 보관하기 위한 것으로 여러가지 생각했습니다. 화면을 캡쳐해 jpg로 저장해도 되지만 php 밖의 일이어서 pdf로 하기로 결정했죠.

그런데 pdflib 는 세팅되지 않아 재컴파일을 해야 하는 경우가 생겼습니다.
인터넷 여기 저길 다니다 http://wizard.ncafe.net/wt/2263 이분이 포스팅해놓으신 FPDF 라는 클래스로 간단히 pdf를 만들수 있더군요. 보실지 모르지만 힌트를 주셔서 감사드린다는 말씀 드리고 싶습니다. ^^

다운받는 사이트는
 - 클래스 다운로드 : http://www.fpdf.org/
 - 한글 지원 클래스 다운로드 : http://www.fpdf.org/phorum/read.php?f=1&i=10058&t=10058

※ 한글을 쓸려면 iconv 로 EUC-KR로 컨버팅후 사용하세요.
※ 무엇보다 메뉴얼이 자세히 잘 나오니 꼭 한번 읽어 본후 적용하세요.^^


데모 : http://web.cctoday.co.kr/example/pdf/

<?php
include_once 'korean.php';//클래스 로드

$pdf=new PDF_Korean('L', 'mm', 'A5'); //생성 가로 출력 (LandScape), mm 단위, A5 사이즈


$pdf->SetSubject('http://nosmoke.cctoday.co.kr');
$pdf->SetAuthor('http://nosmoke.cctoday.co.kr');
$pdf->SetTitle('http://nosmoke.cctoday.co.kr');
$pdf->SetKeywords('http://nosmoke.cctoday.co.kr');
$pdf->SetCreator('http://nosmoke.cctoday.co.kr');
//---------> 기본 정보 인데 없어도 됩니다. 이런게 있다고 말씀 드릴려고...;;


$pdf->url="http://nosmoke.cctoday.co.kr";
$pdf->Header(); //->상단 각 페이지마다 밖혀 있는거. Header(), Footer()는 메뉴얼 참고하면 됩니다.
$pdf->AliasNbPages(); //하단 페이징

$pdf->AddUHCFont();
$pdf->SetAutoPageBreak(true,15);//컨텐츠가 늘어나면 자동으로 다음 페이지로 넘김

$pdf->Open();
$pdf->AddPage();///페이지 추가

$pdf->AddUHCFont("돋움","Dotum"); //폰트 설정. 다음 폰트 나올때까지 이것 적용됩니다.

$pdf->SetFont('돋움','',12);
$pdf->Write(5,iconv('UTF-8','EUC-KR','링크가 있는 글입니다.폰트크기12입니다.'),'http://naver.com');
$pdf->Ln(10);//줄바꿈.
$pdf->Write(5,iconv('UTF-8','EUC-KR','여기서 줄바꿈. 링크가 없어요~'));

$pdf->Ln(10);//줄바꿈.
$pdf->AddUHCFont("굴림","Gulim");
$pdf->SetFontSize(9);

$pdf->Text(142,20,iconv('UTF-8','EUC-KR','여기에 이미지를 놓아요, 이미지링크가 있어요.'));
$pdf->Text(142,25,iconv('UTF-8','EUC-KR','여긴 굴림이고 폰트크기가 9입니다.'));
$pdf->Image('exmaple.jpg', 160,30,20,0, 'JPG','http://web.cctoday.co.kr/example/pdf/exmaple.jpg');//이미지추가

$pdf->Ln(10);//줄바꿈.
$pdf->SetDrawColor(255,201,15);
$pdf->SetFillColor(255,201,15);
$pdf->Cell(100,20,iconv('UTF-8','EUC-KR','Fill된 박스안에 글쓰기입니다.링크있음'),1,0,'C',true,'http://naver.com');


$pdf->Output('ex.pdf', 'I'); // I는 바로 웹페이지 보이고 D는 다운로드.
$pdf->Close();

?>



tags : , ,
Trackbacks 0 : Comments 6
  1. 윤영식 2009.08.25 23:33 Modify/Delete Reply

    보잘것 없는 저의 글이 도움이 되었다니 다행입니다.

  2. 꽃띠 2009.08.28 22:11 Modify/Delete Reply

    ... 에잇 마땅히 할말이 없네

  3. 원지맘 2009.09.01 10:44 Modify/Delete Reply

    pdf가 안 열리고 마구마구 깨지는건 왜일까요?
    서버에 mime 랑 상관있는걸까요?

    • 우렁씨 2009.09.05 13:50 신고 Modify/Delete

      글자가 깨지는게 아니고 pdf 파일이 깨지는 것이지요?

      제가 겪은 여러 원인중 하나는 php 문법이 틀렸을수도 있고, 이미지 파일 첨부시 path가 틀린경우가 있었습니다.

      서버 mime 은 테스트 해보니 상관없는듯하네요.
      (제가 님과같은 조건으로 테스트 할수 없으니 신뢰금지..;;;)
      php 헤더는 상관없더군요..

      알찬 답변이 되지 못해 죄송합니다.

Write a comment