Поиск по этому блогу

вторник, 9 апреля 2013 г.

PHP получить изображения из PDF.

Сегодня встала интересная задача: нужно было получить картинку из PDF файла. По другому говоря нужно было распарсить PDF документ и вернуть первую картинку как обложку журнала.
Погуглил, нашёл килограмы кода, плагинов, расширений. Но всё как-то слишком сложно.
Мне нужно было решение, которое затребовало бы минимум работы сис. админа, а привелегии по работе парсера программиста были широкими.

Примерно после часа копаний разнообразных ресурсов мне в голову пришла мысль о "скриншоте". А что если попробовать не парсить а заскринить первую (или любую другую) страничку журнала и выводить её как обложку.

Что первое приходит в голову? Правильно! ImageMagic(!).

Оказывается у них уже всё реализовано вплоть до поиска одного изображения и сохранения его. О чудо, да это же решение моей конретной задачи. Код всего в несколько строк.


// $params мой массив параметров
// Ключ index у меня 0 по умолчанию, т.е. первое изображение
// Ключ file путь к файлу pdf
    $index = (isset($params["index"])) ? $params["index"] : 0;
// Берём текущую директорию
    $pathToHtdocs = realpath(".");
// Подготавливаем путь для сохранения картинки
    $filePath = $params["file"] . ".jpeg";

// Если файл не существует
    if (!file_exists($pathToHtdocs . $filePath)) {

        $str = $pathToHtdocs . $params["file"] . "[{$index}]";
        $im = new Imagick($str);
// То сохраняем картинку
        $im->writeimage($pathToHtdocs . $filePath);
    }

Итак.  Готово.

Комментариев нет:

Отправить комментарий

Количество·просмотров