ImageMagickでPDFからサムネイル生成〜convertコマンドでページ指定する方法〜
・ImageMagickとghostscript(convertコマンド)
ImageMagickとghostscriptでPDFのサムネイルを作成するには
convert input.pdf output.jpg
のようにconvertコマンドを使用して生成できます。
このコマンドでは例えばpdfが3ページあった場合
output-0.jpg、output-1.jpg、output-2.jpg
の3つのファイルが作成されます。
ただ、実際にはすべてのページのサムネイルは必要ない場面があると思います。
そこで、PDFの1ページ目のみ指定してサムネイル変換を行いたい場合は
convert input.pdf[0] output.jpg
のように、入力となるファイル名の後ろにページ番号を指定してやります。
そうすると、
output.jpg
にinput.pdfの1ページ目のみのサムネイルが出力されます。
こうすることで、ページ数の多いPDFの場合は処理コストを大幅に少なくできます。
・JMagickの場合
JMagickの場合、単純に
ImageInfo info = new ImageInfo(); MagickImage image = new MagickImage(info, pdfbinary);
などとした場合、裏ではPDFのすべてのページが処理されています。
JMagickでPDFのページ指定を行う方法がなかなか見つからず
色々と試行錯誤してみたところ、new MegickImageの前に
info.setFileName("[0]");
とすることで、1ページ目のみ処理するように制御できました。
しかし、JMagickの情報って少ない。。。