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);
}
Итак. Готово.
Комментарии:
Нету комментариев для вывода...