웹마스터 팁
page_full_width">
PHP로 PDF만들기 2 - 한글 사용
2006.06.17 02:55
http://mygony.com/archives/771phpschool.com 에 썼던 거 그대로 날라왔습니다. ^^;;
__________________________________________________________________
에... 생각보다 빨리 답을 구해버렸습니다.
일단, 기본적으로 명조, 고딕은 되구요, 이외에도 윈도우즈에 설치된 글꼴이라면 뭐든 가능합니다. 즉, 굴림이나 돋움 등과 같은 기본글꼴도 지정할 수 있다는 말이죠. ^^ 혹여 존재하지 않는 글꼴을 사용했다하더라도 글꼴이 없으면 기본글꼴로 나타나니까 문제가 될만한 일은 없는 것 같습니다.
백문이 불여일견. 그냥 보세요.
아래 글에 있는 korean 팩하고 fpdf하고 다 같이 설치되었다는 가정하에 ex.php 파일만 조금 바꿔봤습니다. 그럼 ^^
<?php
require('korean.php');
$pdf=new PDF_Korean();
$pdf->AddUHCFont('명조');
$pdf->AddUHCFont('고딕', 'HYGoThic-Medium-Acro');
$pdf->AddUHCFont('돋움', 'Dotum');
$pdf->AddUHCFont('바탕', 'Batang');
$pdf->AddUHCFont('궁서', 'Gungsuh');
$pdf->AddUHCFont('굴림', 'Gulim');
$pdf->AddUHCFont('한겨레결체', '한겨레결체');
$pdf->AddUHCFont('없는글꼴', '없는글꼴');
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('명조','',16);
$pdf->Write(8,'PHP 3.0은 1998년 6월에 공식적으로 릴리즈되었다. 공개적인 테스트 이후약 9개월만이었다.');
$pdf->Ln();
$pdf->SetFont('고딕','',16);
$pdf->Write(8,"(고딕)고딕글꼴도 나타날 수 있었다.");
$pdf->Ln();
$pdf->SetFont('바탕','',16);
$pdf->Write(8,"(바탕)일단 완전히 새로운 폰트가 추가되지는 않아도...");
$pdf->Ln();
$pdf->SetFont('궁서','',16);
$pdf->Write(8,'(궁서)윈도우즈에 있는 기본적인 글꼴은 가능하다.');
$pdf->Ln();
$pdf->SetFont('굴림','',16);
$pdf->Write(8,'(굴림)글꼴들이 조금 달라보이시나요?');
$pdf->Ln();
$pdf->SetFont('돋움','',16);
$pdf->Write(8,'(돋움)이건 돋움체랍니다.');
$pdf->Ln();
$pdf->SetFont('+ '한겨레결체','',16);
$pdf->Write(8,'(한겨레결체)이건 한겨레결체랍니다.');
$pdf->Ln();
$pdf->SetFont('없는글꼴','',16);
$pdf->Write(8,'(없는글꼴)글꼴이 없으면 기본값인 명조체로 나타납니다.');
$pdf->Output();
$pdf->Ln(); $pdf->Ln();
?>
링크에 가면 데모있습니다. :-)
P.S// 이제 포함되지 않은 글꼴을 임베딩하는 방법...만 알면 될 것 같긴한데... 자료가 없네요. ^^;;
__________________________________________________________________
에... 생각보다 빨리 답을 구해버렸습니다.
일단, 기본적으로 명조, 고딕은 되구요, 이외에도 윈도우즈에 설치된 글꼴이라면 뭐든 가능합니다. 즉, 굴림이나 돋움 등과 같은 기본글꼴도 지정할 수 있다는 말이죠. ^^ 혹여 존재하지 않는 글꼴을 사용했다하더라도 글꼴이 없으면 기본글꼴로 나타나니까 문제가 될만한 일은 없는 것 같습니다.
백문이 불여일견. 그냥 보세요.
아래 글에 있는 korean 팩하고 fpdf하고 다 같이 설치되었다는 가정하에 ex.php 파일만 조금 바꿔봤습니다. 그럼 ^^
<?php
require('korean.php');
$pdf=new PDF_Korean();
$pdf->AddUHCFont('명조');
$pdf->AddUHCFont('고딕', 'HYGoThic-Medium-Acro');
$pdf->AddUHCFont('돋움', 'Dotum');
$pdf->AddUHCFont('바탕', 'Batang');
$pdf->AddUHCFont('궁서', 'Gungsuh');
$pdf->AddUHCFont('굴림', 'Gulim');
$pdf->AddUHCFont('한겨레결체', '한겨레결체');
$pdf->AddUHCFont('없는글꼴', '없는글꼴');
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('명조','',16);
$pdf->Write(8,'PHP 3.0은 1998년 6월에 공식적으로 릴리즈되었다. 공개적인 테스트 이후약 9개월만이었다.');
$pdf->Ln();
$pdf->SetFont('고딕','',16);
$pdf->Write(8,"(고딕)고딕글꼴도 나타날 수 있었다.");
$pdf->Ln();
$pdf->SetFont('바탕','',16);
$pdf->Write(8,"(바탕)일단 완전히 새로운 폰트가 추가되지는 않아도...");
$pdf->Ln();
$pdf->SetFont('궁서','',16);
$pdf->Write(8,'(궁서)윈도우즈에 있는 기본적인 글꼴은 가능하다.');
$pdf->Ln();
$pdf->SetFont('굴림','',16);
$pdf->Write(8,'(굴림)글꼴들이 조금 달라보이시나요?');
$pdf->Ln();
$pdf->SetFont('돋움','',16);
$pdf->Write(8,'(돋움)이건 돋움체랍니다.');
$pdf->Ln();
$pdf->SetFont('+ '한겨레결체','',16);
$pdf->Write(8,'(한겨레결체)이건 한겨레결체랍니다.');
$pdf->Ln();
$pdf->SetFont('없는글꼴','',16);
$pdf->Write(8,'(없는글꼴)글꼴이 없으면 기본값인 명조체로 나타납니다.');
$pdf->Output();
$pdf->Ln(); $pdf->Ln();
?>
링크에 가면 데모있습니다. :-)
P.S// 이제 포함되지 않은 글꼴을 임베딩하는 방법...만 알면 될 것 같긴한데... 자료가 없네요. ^^;;
댓글 2
-
문제은행
2008.12.19 10:09
-
오아시안
2011.02.01 15:53
fpdf가 UTF-8 인코딩으로 되어 있으면
$pdf->write(2, mb_convert_encoding('출력될 메세지', 'EUC-KR', 'UTF-8'));
과 같이 출력하면 잘 출력됩니다.
관련 코드를 함수로 만들어 사용하면 유용할 것 같습니다.
글쓰기는 첨이네요.
안녕하세요
저는 기출문제(학교) 시험지를 제로보드로 개발하고 있습니다.
현재 mpdf 로 디비에 있는 시험자료를 pdf 로 만들고 있습니다.
http://study2080.com
css 까지 쉽게 지원되길래 html2pdf 를 기본으로 하는 http://mpdf.bpm1.com/
코드를 참고하고 있습니다.
문제점 하나 있는데요 ?
한글.일본어.중국어 각각으로는 잘 표현됩니다.
그런데 UTF8 기능처럼 같은 문서에서 3개의 언어를 동시에 표현되어야하는데
그것이 문제입니다.
고니님의 조언을 부탁드립니다.