출처: http://www.lovelgw.com/Blog/256



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를 처리 하기 위함입니다. 

4646250557.w600-h426.png


원본 PDF 파일


8519872416.png

이미지로 변환된 PDF



썸네일로 변환 작업을 손쉽게 할 수 있습니다. ImageMagick 라이블러리를 이용한 또다른 응용은 다음에 다루기로 하겠습니다. ^^
번호 제목 글쓴이 날짜 조회 수
180 [Vmware Vsphere ]centos 安装方法 file MYIP박광춘 2011.10.18 12929
179 원격프로그램 설명 2 file 이건 2011.10.14 12758
178 원격프로그램 설명1 [5] file 이건 2011.10.14 12897
177 Zimbra Desktop 다운로드 및 설치 [28] file MYIP박광춘 2011.09.22 20446
176 안드로이드(android) wmware zimbra 기본강좌 [678] file 이건 2011.08.12 105858
175 <defo 바이러스 위해성.>대부분 pc방에 감염 많이 감염됨 onkeyghost로도 복구 안됨 [34] Myip 심걸 2011.08.11 18776
174 [하이퍼바이저 호스팅] XenServer - CentOS 64bit버전 텍스트모드(TEXT mode) 설치 동영상강좌 [62] file 이건 2011.07.29 21756
173 [jQuery] 간단한 텍스트 스크롤 [86] Myip 심걸 2011.07.28 17174
172 비트 연산 클래스 Bit 0.5.1 [9] Myip 심걸 2011.07.28 13786
171 js_tree_menu 간단한 트리구조 메뉴를 만든다 [31] Myip 심걸 2011.07.28 15391
170 js_input <input>,<textarea>,<submit>,<select> 등을 제어 Myip 심걸 2011.07.28 16156
169 DBMS 별 자동증가값 처리방법 [4] Myip 심걸 2011.07.28 15947
168 퐝당한 Firefox 버그 Myip 심걸 2011.07.28 14300
167 JavaScript에서 클래스를 사용할 때의 생성자 Myip 심걸 2011.07.28 12791
166 JavaScript 타이머 동작방식 Myip 심걸 2011.07.28 18515
165 JavaScript 코딩팁 Myip 심걸 2011.07.28 13781
164 [Flash]Security.allowDomain('*.domain.com') 은 안된다 [7] Myip 심걸 2011.07.28 20204
163 Flex 4 ACE Exam 가이드 Myip 심걸 2011.07.28 12483
» ImageMagick 을 이용한 PDF 이미지 변환 [1] Myip 심걸 2011.07.28 16423
161 Firefox 속도 개선 방법 Myip 심걸 2011.07.28 12684