PHP를 이용한 PDF 문서 생성

PHP기반의 웹사이트에서 증명서 발급, 영수증 발급, 견적서 발급 등 자동으로 PDF를 생성할일이 많은편이다.
추가적인 라이브러리 설치와 셋업과정 없이 기본적인 PHP 디폴트 설치 상태에서도 잘 동작하는 두가지 대표적인 오픈소스 프로젝트를 소개해 보려 한다.

R&OS

홈페이지: http://sourceforge.net/projects/pdf-php/

트루타입 폰트(TTF)를 지원하지만 유니코드 폰트(예: 맑은고딕, 나눔고딕 등) 지원이 제대로 안되서 한글이 포함된 PDF 문서를 생성하기가 쉽지 않다. 라이브러리에서 유니코드 트루타입폰트를 로딩하면 예외가 발생해서 사용이 불가능하다.

유니코드가 아닌 트루타입 폰트를 사용할경우 한글이 지원되지만(예: 아리따글꼴 등) 해당 폰트를 생성된 PDF문서에 포함(embed) 시켜야만 한다 (포함시키지 않을경우 문서가 깨짐). 그러다보니 한글 폰트가 포함되어 문서용량이 커지고 로딩이 길어지는 것을 감수해야 한다.

사용법이나 메뉴얼은 TCPDF에 비해 편리하게 잘 구성이 되어 있어서 훨씬 간편하니 영문으로만 된 PDF문서 생성시에는 더 손쉽게 사용 가능하다. 특히 마크다운을 사용하듯이 간단한 문법으로 구조화된 텍스트를 만드는 기능이 내장되어있어서 개발 문서 등을 만들때 편리하다.

TCPDF

홈페이지: http://www.tcpdf.org/

한글, 일본어, 중국어등 유니코드 계열 언어 지원이 잘되고 SVG(Scalable Vector Graphic) 이미지도 지원하는 등 훨씬 다양한 기능을 가진 방대한 라이브러리이다.

일단 PHP환경에서 한국어 PDF를 생성하는 오픈소스 프로젝트라면 TCPDF가 정답인듯 싶다. 위에서 소개한 R&OS와는 달리 한글 폰트를 임베드 하지않아도 시스템 기본 폰트로 설정되어 출력되기 때문에 문서용량이 매우 컴팩트하고 좋다. 일반적으로 한글이 들어있는 PDF를 사용할때는 용량문제로 커스텀 폰트를 사용하지 않는것이 일반적이기 때문에 임베딩기능은 사용해보지 않았다.