phpでPDFファイルから特定ページを切り出し画像として保存する方法をいろいろと検討してみたんだが、あまりいい方法がなかったので、linuxのコマンドで処理したものをexecなどで取得するようにした。
今回は、linuxコマンドで、PDFファイルから特定ページを切り出し画像として保存する部分をメモしておく。
利用するlinuxのコマンドはpdftkとImageMagickのconvertです。
pdftkのインストール
pdftkをyumでインストールしたいのですが、rpmforgeにしかないので、
- yum-prioritiesのインストール
- rpmforgeリポジトリの導入
- pdftkのインストール
の手順で進めます。
yum-prioritiesのインストール
yum-prioritiesのインストールを見てください。
rpmforgeリポジトリの導入
http://pkgs.repoforge.org/rpmforge-release/
から、rpmを取得しインストールを行います。
64bit版CentOS6なら、rpmforge-release-0.5.2-2.el6.rf.x86_64.rpmを使います。
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
導入後に、念のためアップデートも行なっておきます。
yum -y update rpmforge-release
pdftkのインストール
yum -y install pdftk
ImageMagickのインストール
yum -y install ImageMagick
PDFファイルから特定ページを切り出し画像として保存する
pdftkの使い方は
pdftk PDFファイル cat ページ範囲 output 出力するPDFファイル
となります。例えば、a.pdfの3ページ目を切り出して3.pdfを作るなら
pdftk a.pdf cat 3 3.pdf
となります。
次に、PDFファイルを画像に変換するのにImageMagickのconvertを利用します。
convertの使い方は
convert -geometry 横x縦 PDFファイル 出力する画像ファイル
となります。例えば、3.pdfを512×512ピクセルの3.jpgを作るなら
convert -geometry 512x512 3.pdf 3.jpg
のようにすればよいです。
なお、pdftk,convertの詳しい使い方はそれぞれのマニュアルを見てください。