Постраничное конвертирование PDF в JPG на php

В данном посте я расскажу вам как средствами php на стороне сервера PDF-файл постранично сохранить списком jpg-изображений. Информация будет полезна только совсем начинающим web-разработчикам на php.

На вашем хостинге должен быть установлен и настроен модуль php для работы с изображениями – ImageMagick. Также должна быть установлена поддержка PDF файлов данным модулем. Но это еще не все! Для корректной работы с форматом PDF должен быть установлен и правильно настроен Ghostscript. Если этого всего нет – пишите в поддержку своего хостинга или ищите другой хостинг.

Простой пример конвертирования PDF в набор jpg-изображений:

<?php
$pdf_file = 'test.pdf';
$im = new imagick($pdf_file);
$i=0;
foreach($im as $_img) {
   $i++;
   $_img->setResolution(300, 300);
   $_img->setImageFormat('jpeg');
   $_img->writeImage('p-'.$i.'.jpg');
}
$im->destroy();
?>

$_img->setResolution(300, 300) – задаем разрешение, от этого зависит качество изображения.
$_img->setImageFormat(‘jpeg’) – задаем формат картинки.
$_img->writeImage(‘p-‘.$i.’.jpg’) – ну и сохраняем.

При необходимости можно отресайзить изображение.

Данный пример очень простой, но по нему становится ясно, как просто и легко при помощи ImageMagick конвертировать PDF в набор jpg изображений. Таким же способом можно конвертировать многостраничные TIFF файлы и анимированные GIF изображения.

Вообще библиотека ImageMagick очень мощная штука 🙂

Если есть какие-то вопросы или предложения/замечания – пишите в комментах.