akishin999の日記

調べた事などを書いて行きます。

Windows の RMagick で PDF のサムネイルを生成する

Windows の RMagick で PDF のサムネイルを生成した時のメモです。

RMagick のインストール


RubyForge: RMagick: Project Info
http://rubyforge.org/projects/rmagick/


上記サイトより、rmagick-win32(現時点では「RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.zip」でした) をダウンロード。

ダウンロードしたら ZIP を展開し、中にある EXEファイル(「ImageMagick-6.5.6-8-Q8-windows-dll.exe」)を実行するとインストーラが起動します。

インストールは GUI なので特に悩まずにそのまま進められます。
環境変数 PATH への追加は忘れずに。

インストールが完了したら、コマンドラインから先ほど「RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.zip」を展開したディレクトリへ移動し、以下を実行します。

>gem install rmagick --local


これで RMagick のインストールは完了です。

Ghostscript のインストール

ImageMagick で PDF のサムネイルを作成するには、Ghostscript のインストールが必要になるようです。


Index of /pub/text/TeX/ptex-win32/gs
http://www.dnsbalance.ring.gr.jp/pub/text/TeX/ptex-win32/gs/


上記から「gs870w32full-gpl.zip」をダウンロードします。

ダウンロードした ZIP を展開し、中にある「setupgs.exe」をダブルクリックするとインストール開始。

インストールは「Use Windows TrueType fonts for Chinese, Japanese and Korean」というチェックボックスにチェックを入れた以外はデフォルトのまま進めました。

インストール完了後、環境変数 PATH に「C:\gs\gs8.70\bin」と「C:\gs\gs8.70\lib」を追加します。

以上でインストールは完了です。

PDF の表紙のサムネイルを作成


インストールが完了したら、下記のようなコードで PDF の表紙のサムネイルが生成できます。
PDF ファイル名の最後に「[0]」を付けると 1 ページ目のみのサムネイルを生成してくれます。
この辺りはコマンドラインで convert を使用して作成する場合と同じ指定方法で良いようです。

require 'rubygems'
require 'RMagick'
include Magick

image = ImageList.new("C:/temp/sample.pdf[0]")
result = image.thumbnail(150, 150)
result.write("C:/temp/result.jpg")


以上です。

参考


Windows 用 Ghostscript と GSview のインストール
http://www.nsknet.or.jp/~tony/TeX/install/win/gs.htm

坂本小児科 〜 ImageMagickでtif画像とPDFを読み込み、合成してpdfで出力 〜
http://www.mokorin.net/blogdata/2007/07/imagemagicktifpdfpdf.php