<MyRusakov.ru />

Разработчик игр на Unreal Engine

Разработчик игр на Unreal Engine

Этот комплект с нуля всего за 7 месяцев сделает Вас Unreal-разработчиком. И при этом учиться достаточно 1 час в день.

Начнёте Вы с основ программирования, постепенно перейдя к C++. Затем очень подробно изучите Unreal Engine, и после научитесь программировать на C++ в Unreal Engine. В конце создадите крупный проект на C++ в Unreal Engine для своего портфолио.

Комплект содержит:

- 416 видеоуроков

- 95 часов видео

- 1024 задания для закрепления материала из уроков

- 3 финальных тестирования

- 4 сертификата

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Создаем превью PDF файла в PHP.

Создаем превью PDF файла в PHP.

Доброго времени суток! В данной статье я покажу Вам, как можно создать превью (изображения первой страницы) из PDF файла на PHP.

Где это может пригодиться? Допустим, Вы создаете онлайн-библиотеку, в которой при добавлении новой книги (в нашем случае в формате PDF) из нее генерируется изображение первой страницы - превью.

Итак, для создания превью из PDF файла будем использовать библиотеки Imagick и Gostscript.

Код программы:


<?php

// путь к файлам с превью
function coverImagePath(string $pdfFileName)
{
    $poster = pathinfo($pdfFileName, PATHINFO_FILENAME);
    return __DIR__ . "/covers/$poster.jpg";
}


// здесь создаем превью
// параметр файла - пусть к PDF-файлу
function createPoster(string $pdfFile)
{
    $firstPage = '[0]'; // первая страница
    $im = new Imagick($pdfFile . $firstPage); // читаем первую страницу из файла
    $im->setImageFormat('jpg'); // устанавливаем формат jpg
    file_put_contents(coverImagePath($pdfFile), $im); // сохраняем файл в папку
    $im->clear(); // очищаем используемые ресурсы
}


// получаем все файлы в папке
const RootDir = '/home/myrusakov/Documents';
$files = new DirectoryIterator(RootDir);

// проходимся по ним
foreach($files as $file) 
{
    // если файл - . или .. - пропускаем
    if($file->isDot()) 
        continue;

    // получаем полный путь к файлу
    $filePath = RootDir . DIRECTORY_SEPARATOR . $file->getFilename();

    if($file->isFile() && $file->getExtension() === 'pdf') 
    {
        $posterFile = new SplFileInfo(coverImagePath($filePath));
        if($posterFile->isFile()) continue;

        createPoster($filePath);
        print($filePath . PHP_EOL);
    }
}


Таким образом,после запуска программы мы получим превью - изображение первой страницы каждого файла.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.