2017年02月06日 PDFファイルをPHPで読み込み、JPG・PNG画像として出力する

名古屋のデザイン会社 KOYUのトップページへ戻る

PDFファイルをPHPで読み込み、JPG・PNG画像として出力する

PHPでPDFファイルを読み込み、JPG・PNG画像として出力します。変換にはimagemagick(imagick)を使います。

PDFからサムネイル画像を作りたい

WebサーバーにUPしたPDFファイル。その中身を読み込み、サムネイル画像として出力したい、とのリクエストを受けました。Webの世界ではPDFはAdobeReaderのアイコンで示すのが定番ですが、一歩踏み込んで中身も見せようというわけです。子のリクエストにはPHPの今回はimagickクラスを使うことで実現できます。

imagickをインストール

サーバーはGentoo Linuxです。make.confに

jpeg png postscript

を追記し、imagickをインストールします。

emerge imagemagick pecl-imagick

この時、ghostscriptも一緒にインストールされます。

input.pdf → output.jpg

PDFをJPGファイルに変換し、保存するコードです。

<?php
$imagick = new Imagick();
$imagick->readImage('input.pdf');
$imagick->writeImages('output.jpg', false);
?>

input.pdf → output.php

PDFを読み込み、JPGファイルとして振る舞うPHPファイル。

<?php
$image = new Imagick();
$image->readImage(input.pdf );
$image->setImageFormat('jpg');

header('Content-Type: image/jpeg');
header("Content-Disposition: inline; filename=sample.jpg");
echo $image;
?>

Copyright (C) 2016 KOYU Japan Corporation. All Rights Reserved