PHP5.4とImageMagickでjpgの解像度を指定する
バージョン |
---|
php5.4.16 |
ImageMagick 6.7.8-9 |
pdfからラスタライズしたjpgはデフォルトで72dpiになります。
解像度を指定するにはsetOption(‘density’, 300);というように指定します。
画像読み込みするreadImageの前で指定する必要があります。
$im = new Imagick(); $im->setOption('density', 300); $im->readImage('/tmp/sample.pdf'); for ($i = 0; $i < $im->getImageScene(); $i++) { $im->setIteratorIndex($i); $im->setImageFormat('jpg'); $im->writeimage('/tmp/page-' . $i . '.jpg'); } $im->destroy();
これで300DPIのjpg画像が出力されます。ghostscriptのライブラリを使用しているのでPDFBoxよりImagemagickの方がラスタライズの処理は高速のようです。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント