ImageMagic 을 이용한 PDF 이미지 변환
ImageMagick 을 이용해서 PDF 문서의 썸네일을 만들 수 있습니다. 물론 인쇄 과정을 가상적으로 거치는 것이기 때문에 GNU Ghostscript 가 필요합니다.
일단 동작에 대해서 먼저 알아보도록 하겠습니다. ImageMagick 은 GNU 소프트웨어로서 가장 많은 이미지 포멧을 지원합니다. 물론 몇몇은 이미지 파일이 아니라 문서파일이겠죠 (PDF 등) 이미지 변환 및 효과 등을 줄 수도 있고 포멧 변경을 손쉽게 할 수 있는 이미지 라이블러리 입니다. 현재 까지 100개 이상의 포멧을 지원하고 있습니다. 내부적으로 해당 포멧을 지원 하기도 하며 기타 필요의 경우 외부 이미지 라이블러리를 이용하여 지원을 합니다. GD와 비슷하죠
일단 PDF의 이미지 변환(썸네일 작업) 에 대해서 알아보기로 했으니 썸네일 작업 방법에 대해서 알아보겠습니다. 작업을 진행한 PDF파일은 Microsoft 의 Visual Studio 2010의 C++ 의 C++0x에 대한 변경부분 에 대해서 나온 PDF파일입니다. PDF파일 자체도 백터 이미지 처리를 하기때문에 이 작업을 하기 위해서는 GNU GhostScript 라이블러리가 필요합니다. Linux에서 인쇄 작업은 Ghostscript 을 이용합니다. 실제 변환작업은 PDF파일을 GS(Ghostscript) 로변환이 되고 이것을 실제 이미지로 변환하는 작업을 거치게 됩니다.
작업 환경은 Linux 2.6.x x86_64 환경이며 CPU는 Intel ATOM 330 에서 작업을 했습니다.
[lovelgw@ tmp]$ time /usr/local/bin/convert ./VisualC.PDF ./VisualC.png
real 1m14.992s
user 1m12.889s
sys 0m3.004s
총 50 Page의 문서를 이미지로 변경하는데 걸린 시간이 1분 14초 입니다. 굉장히 빠르게 변환을 했습니다. 한페이지의 이미지 크기는 515 x 728픽셀의 96dpi 의 작업 결과물입니다. 몇 가지 옵션을 통해 작업 결과물에 대한 해상도 및 이미지 크기 등을 설정 할 수 있습니다. 또한 출력 이미지에 대한 포멧을 변경 할 수도 있습니다.
중요한 옵션은 아래와 같습니다.
-size [width]x[height] : 이미지의 가로 세로 사이즈를 지정합니다.
-density [width]x[height] : 해상도 입니다. dpi입니다. 인치당 필섹을 지정합니다.
컴파일 방법입니다.
ImageMagick (http://www.imagemagick.org/script/download.php) 에서 최신버전을 다운로드 합니다.
GNU GhostScript (http://pages.cs.wisc.edu/~ghost/) 에서 최신버전을 다운로드 합니다.
설치방법은 기본 방법과 동일하게 configure;make;make install 을 이용하여 컴파일 하면 완료 됩니다. 바이너리 버전도 배포 하고 있으니 다운로드 하신 후 사용하시면 됩니다.
가장 중요한것은 GhostScript가 꼭 필요하다는 것입니다. PDF를 처리 하기 위함입니다.
원본 PDF 파일

이미지로 변환된 PDF
일단 오늘의 주제는 PDF를 이미지로 변환하는 방법이었습니다. ^^ 리눅스에서 손쉽게 할 수 있습니다.
"Tip" 카테고리의 다른 글
- PHP 표준입력 (Scanf) (댓글 0개 / 트랙백 0개) 2009/02/26
- 검색 엔진 최적화 (SEO) 에 대한 검색엔진별 검색 결과 분석 (댓글 0개 / 트랙백 0개) 2010/05/19
- PHP MSSQL 프로시져 사용 (댓글 0개 / 트랙백 0개) 2009/06/11
- ImageMagick 을 이용한 PDF 이미지 변환 (댓글 0개 / 트랙백 0개) 2010/07/29
- PHP XML 다루기 - Document Object Model (댓글 1개 / 트랙백 0개) 2009/07/28
- MySQL - mysqli 를 사용할 수 없을때 멀티쿼리 및 MYSQL 내부 변수 선... (댓글 1개 / 트랙백 0개) 2010/02/05
- 웹 로그 분석 하기 (댓글 0개 / 트랙백 0개) 2010/05/19
- PHP FreeTDS 사용 (댓글 0개 / 트랙백 0개) 2009/06/12
- DTD란? (댓글 0개 / 트랙백 0개) 2009/03/31
- 검색엔진 최적화 : SEO (Search Engine Optimization) (댓글 2개 / 트랙백 0개) 2010/05/19
