PDFを画像ファイル(JPEG,PNGなど)に変換してサーバーに保存させる方法を探していたらImageMagickを使うと簡単にできることが分かったのでやり方をメモ。
拡張モジュールImagickがインストールされているか確認してください。
インストールされていない場合は、下記のインストールを参考にしてください。

PDFファイルの全ページを画像に変換する

$im = new Imagick();
//画像を生成したいPDFを読み込む
$im->readImage('hoge.pdf');
//ページ数を取得する
$totalPage = $im->getImageScene();

for ($i = 0; $i <= $totalPage; $i++) {
//PDFのページ
$im->setImageIndex($i);
//サムネイルサイズ 640pxに収める
$im->thumbnailImage(640, 640, true);
//シャープ
$im->sharpenImage(0, 1);
//生成
$im->writeImage('out_' . $i . '.jpg');
}

$im->destroy();

PDFファイルの指定ページのみを画像に変換する

$im = new Imagick();
//画像を生成したいPDFを読み込む
$im->readImage('hoge.pdf');
//特定のPDFのページ 0が表紙
$im->setImageIndex(ページを指定);
//サムネイルサイズ 640pxに収める
$im->thumbnailImage(640, 640, true);
//シャープ
$im->sharpenImage(0, 1);
//生成
$im->writeImage('out_' . $i . '.jpg');
$im->destroy();



PECL::Imagickインストール

Imagickインストール
PHPからImageMagick (PECL::Imagick)を使う:インストールメモ

上手くできない場合

ghostscript が動作するか確認してください。
動かなければインストールしてください。

"Postscript delegate failed" などのエラーが出たらgsコマンドへのパスを
確認してください。私の場合は、以下の方と同じ現象になりました。
【ImageMagick】PDF→JPGへの変換エラー



これで、PDFファイルをサーバーにアップロードして画像を生成させればPDFをサムネイルで表示させることができます。
このブログは、技術系の記事がメインですが、子供、赤ちゃんに特化したブログを始めました。
もしWeb屋がパパになったら


6つの女心

今回の記事のポイントです!
・女子の栄養源ってなに?
・こだわりをもっているところを褒めよう
・女性はサプライズが大好き
・伝え方がとても重要
・難しい女心が分かるかもしれないコピー集
・妊婦の細かい心の変化に気付いてあげる

女心は難しい!Web系女子から学ぶオンナゴコロ