まずはimagemagickをインストール
で、PerlMagick使うためにはホストにimagemagickが入ってないといけないんですけど、これをroot権限で入れるのは別に難しくない。のですが、perlbrewな環境となると、root権限?何それおいしいの?状態なので、今回は$HOME/local 以下にimagemagickをインストールする方法をとります。$ mkdir $HOME/local $ mkdir $HOME/src $ cd $HOME/src $ wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.7.3-6.tar.gz $ tar zxvf ImageMagick-6.7.3-6.tar.gz $ cd ImageMagick-6.7.3-6 ### prefixは必須、そのほかお好みでオプションつけてください $ ./configure --prefix $HOME/local/imagemagick $ make $ make install
ここまでできれば、$HOME/local/imagemagick/bin 以下にconvertなどのimagemagickのコマンド群が配置され、
$ $HOME/local/imagemagick/bin/convert foo.pdf bar-%03d.jpgみたいにPDF→JPEG変換ができるようになると思います。
PerlMagickのインストール
本当ならここで、
$ cpanm Image::Magick
とかできればいいんですけど、これやってみたらここに書いてあるような現象に見舞われました。
なので、ソースディレクトリの下にあるPerlMagickをインストールすることにします。
$ cd ./PerlMagick $ perl Makefile.PL $ make $ make test $ make install
最後のmake installの時に
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /home/ytnobody/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/auto/Image/Magick/Magick.so Installing /home/ytnobody/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/auto/Image/Magick/Magick.bs Installing /home/ytnobody/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/auto/Image/Magick/autosplit.ix Installing /home/ytnobody/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Image/Magick.pm Installing /home/ytnobody/perl5/perlbrew/perls/perl-5.12.3/man/man3/Image::Magick.3 Appending installation info to /home/ytnobody/perl5/perlbrew/perls/perl-5.12.3/lib/5.12.3/x86_64-linux/perllocal.podみたいに出てくれば、インストール完了です。
PerlでPDF→JPEG変換してみよう
とりあえず小さく書いてみました。use strict; use Image::Magick; my $i = Image::Magick->new; $i->Read( $ARGV[0] ); $i->Write( 'output-%03d.jpg' );
で、実際にPDFをJPEGにするときは、
$ perl ./imager.pl hachiojipm_10_LT_ytnobody.pdfとかすると、こんな具合に
$ ls -l *.jpg -rw-rw-r-- 1 ytnobody ytnobody 17787 11月 16 15:31 output-000.jpg -rw-rw-r-- 1 ytnobody ytnobody 3362 11月 16 15:31 output-001.jpg -rw-rw-r-- 1 ytnobody ytnobody 5223 11月 16 15:31 output-002.jpg -rw-rw-r-- 1 ytnobody ytnobody 12139 11月 16 15:31 output-003.jpg -rw-rw-r-- 1 ytnobody ytnobody 13849 11月 16 15:31 output-004.jpg -rw-rw-r-- 1 ytnobody ytnobody 32502 11月 16 15:31 output-005.jpg -rw-rw-r-- 1 ytnobody ytnobody 39353 11月 16 15:31 output-006.jpg -rw-rw-r-- 1 ytnobody ytnobody 14955 11月 16 15:31 output-007.jpg -rw-rw-r-- 1 ytnobody ytnobody 46003 11月 16 15:31 output-008.jpg -rw-rw-r-- 1 ytnobody ytnobody 34576 11月 16 15:31 output-009.jpg -rw-rw-r-- 1 ytnobody ytnobody 5327 11月 16 15:31 output-010.jpg -rw-rw-r-- 1 ytnobody ytnobody 15200 11月 16 15:31 output-011.jpg -rw-rw-r-- 1 ytnobody ytnobody 10807 11月 16 15:31 output-012.jpg -rw-rw-r-- 1 ytnobody ytnobody 7135 11月 16 15:31 output-013.jpg -rw-rw-r-- 1 ytnobody ytnobody 12210 11月 16 15:31 output-014.jpg -rw-rw-r-- 1 ytnobody ytnobody 7920 11月 16 15:31 output-015.jpg -rw-rw-r-- 1 ytnobody ytnobody 7375 11月 16 15:31 output-016.jpg -rw-rw-r-- 1 ytnobody ytnobody 8818 11月 16 15:31 output-017.jpg -rw-rw-r-- 1 ytnobody ytnobody 8524 11月 16 15:31 output-018.jpg -rw-rw-r-- 1 ytnobody ytnobody 7237 11月 16 15:31 output-019.jpg -rw-rw-r-- 1 ytnobody ytnobody 11853 11月 16 15:31 output-020.jpg -rw-rw-r-- 1 ytnobody ytnobody 6681 11月 16 15:31 output-021.jpg -rw-rw-r-- 1 ytnobody ytnobody 6142 11月 16 15:31 output-022.jpg -rw-rw-r-- 1 ytnobody ytnobody 6012 11月 16 15:31 output-023.jpg -rw-rw-r-- 1 ytnobody ytnobody 44886 11月 16 15:31 output-024.jpg -rw-rw-r-- 1 ytnobody ytnobody 5473 11月 16 15:31 output-025.jpg -rw-rw-r-- 1 ytnobody ytnobody 3592 11月 16 15:31 output-026.jpg -rw-rw-r-- 1 ytnobody ytnobody 3880 11月 16 15:31 output-027.jpg -rw-rw-r-- 1 ytnobody ytnobody 27537 11月 16 15:31 output-028.jpg -rw-rw-r-- 1 ytnobody ytnobody 9094 11月 16 15:31 output-029.jpg -rw-rw-r-- 1 ytnobody ytnobody 13211 11月 16 15:31 output-030.jpg -rw-rw-r-- 1 ytnobody ytnobody 45757 11月 16 15:31 output-031.jpg -rw-rw-r-- 1 ytnobody ytnobody 7093 11月 16 15:31 output-032.jpg -rw-rw-r-- 1 ytnobody ytnobody 49141 11月 16 15:31 output-033.jpg -rw-rw-r-- 1 ytnobody ytnobody 35089 11月 16 15:31 output-034.jpg画像ファイルがボコボコ出来上がります。まあ当たり前ですねw
0 件のコメント:
コメントを投稿