php 로 pdf 로 만들어 봅시다~
페이지 정보
작성자 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 2,939회 작성일 21-03-10 13:23본문
웹사이트 게시물을 그대로 보관하기 위한 것으로 여러가지 생각했습니다. 화면을 캡쳐해 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();
?>
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();
?>
출처: https://nosmoke.cctoday.co.kr/874 [여유 or 방관]
댓글목록
등록된 댓글이 없습니다.