2016년 11월 17일 목요일

TCPDF 에서 Unicode 기반으로 특수 기호 쓰기

앞에서 작성한 TCPDF 관련한 것에 계속 덧붙여서,
TCPDF를 이용해서 PDF를 만드는데, &#9746 이나 &#9744 같은 유니코드로 된 기호를 html content에 포함해야 하는 일이 생겼다. 이럴 경우, writeHTML()을 이용해 PDF를 생성하면 물음표로 깨져 나오는 현상이 있었다.
여기 저기 뒤져보다 보니, 폰트가 이 문자들을 가지고 있지 않다면, 깨져서 나오게 되는 것이다. 그래서 TCPDF에서 풀 셋으로 가지고 있는 폰트를 쓰면 문제가 해결되는데, 그것이 Dejavu Sans 라는 폰트이다. 이런 식으로 하면 유니코드 문자들이 잘 나온다.

Zend Framework에서 TCPDF를 이용하여 PDF 파일을 생성하는 방법

Zend Framework를 기반으로 하는 시스템에서 TCPDF 라이브러리를 이용하여 PDF를 생성하는 방법은 여러 가지가 있겠지만, 그 중 하나.

내가 보고 있는 울 회사 시스템에서는 이렇게 하는 방법을 썼다.

controller 밑에 놓인 파일에서, Action 함수 내에 이런 부분이 있다.


tcpdf 클라스를 이용해서 $pdf라는 오브젝트를 일단 만들고,
$this->ozView->render()로 html 파일을 만들어서 이걸 $htmlcontent에 저장하고.

tcpdf의 멤버함수 중 writeHTML()을 호출하여 html 컨텐츠를 PDF로 만들고서 output 한다.


잔디 3주차

 잔디 심기. 3주차에 접어들었음. 사진. 아래가 1일차 사진. 다음이 3주차.