まいける's Tech Blog

LAMP関係のメモなどを不定期に掲載します

PHP で PDF のサムネイル画像を作成する

 必要に迫られたので、ちょっと調べてみたところ、意外に簡単。前提として、imagick モジュールが必要となるので、このあたりを見ながらインストールを済ませておいてください。

 それで、その方法ですが

<?php

// 読み込む PDF をフルパスで指定
$file = '/foo/bar/test.pdf';

// サムネイルを作成するページを指定
$page = 1;

// 実際の指定では、1ページが0になるので、調整
$page = $page - 1;

$im = new imagick($file[$page]);
 
// PNG 形式に変換
$im->setImageFormat("png");

// 長辺が 300 ピクセルになるようにリサイズ
$im->thumbnailImage(300, 300, true);

// 表示
header("Content-Type: image/png");
echo $im;

?>

こんな感じです。このままだと、1つのファイルしか読めないので、実際には引数を与えて読み込むファイルを指定して使う感じになると思います。