<MyRusakov.ru />

Профессиональная Web-разработка. Дизайн, код и автоматизация

Профессиональная Web-разработка. Дизайн, код и автоматизация

Это очень подробный курс из разряда "всё включено". Разбираются следующие темы: HTML, CSS, SCSS, JavaScript, PHP, SQL, Laravel, Nginx, PostCSS, npm, Vite, Vitest, Composer, PHPUnit, Prettier, Stylelint, ESLint, Pint, Larastan, Git, Agile, Scrum, Docker, Supervisord, Figma, Stitch AI, Confluence, Jira.

Рассчитан и на новичков, и на тех, кто уже знаком с основами, но хочет освоить полный цикл разработки.

Помимо самой теории, Вы увидите пример создания Web-проекта на 20 000 строк кода: от идеи и документации на Confluence через планирование на Jira, fullstack-разработку до деплоя на VPS.

Помимо уроков, курс содержит упражнения для закрепления знаний и финальное тестирование. А ещё Вы получите 5 полноценных Бонусных курсов: «GitLab под ключ», «Вёрстка сайта с нуля 2.0», «JavaScript с Нуля до Гуру 2.0», «PHP и MySQL с Нуля до Гуру 3.0» и «Laravel от А до Я».

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

Подпишитесь на мой канал на 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);
    }
}


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

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

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