Создание PDF-файлов с помощью Laravel и Dompdf: удобное руководство

В этой записи блога мы погрузимся в мир создания PDF-файлов с помощью Laravel и Dompdf. Независимо от того, создаете ли вы веб-сайт электронной коммерции, создаете отчеты или счета-фактуры, возможность динамического создания PDF-файлов может изменить правила игры. Итак, давайте рассмотрим некоторые удобные методы и примеры кода, которые помогут вам легко выполнить эту задачу.

  1. Установка Dompdf:
    Чтобы начать, нам нужно установить библиотеку Dompdf в наш проект Laravel. Откройте терминал и перейдите в каталог вашего проекта. Выполните следующую команду:
composer require barryvdh/laravel-dompdf
  1. Настройка Dompdf:
    После установки пакета нам нужно настроить Laravel для использования Dompdf в качестве генератора PDF. Откройте файл config/app.phpи добавьте в массив providersследующую строку:
Barryvdh\DomPDF\ServiceProvider::class,

Далее добавьте следующую строку в массив aliases:

'PDF' => Barryvdh\DomPDF\Facade::class,
  1. Создание PDF-файла.
    Теперь, когда у нас настроен Dompdf, давайте сгенерируем базовый PDF-файл. В своем контроллере или там, где вы хотите создать PDF-файл, добавьте следующий код:
use PDF;
...
public function generatePDF()
{
    $data = [
        'title' => 'My Awesome PDF',
        'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
    ];
    $pdf = PDF::loadView('pdf.template', $data);
    return $pdf->download('my_pdf.pdf');
}
  1. Создание шаблона PDF.
    В приведенном выше фрагменте кода мы ссылались на представление под названием pdf.template. Это шаблон, в котором вы можете создать структуру и макет вашего PDF-файла. Создайте новый файл Blade с именем template.blade.phpв каталоге resources/views/pdf. Вот пример простого шаблона:
<!DOCTYPE html>
<html>
<head>
    <title>{{ $title }}</title>
</head>
<body>
    <h1>{{ $title }}</h1>
    <p>{{ $content }}</p>
</body>
</html>
  1. Расширенное создание PDF-файлов.
    Dompdf предоставляет различные методы и параметры для дальнейшей настройки созданных PDF-файлов. Некоторые из часто используемых методов включают в себя:
  • Настройка параметров PDF:

    $pdf->setOptions(['dpi' => 150, 'defaultFont' => 'Arial']);
  • Настройка размера и ориентации бумаги:

    $pdf->setPaper('A4', 'portrait');
  • Добавление встроенных стилей CSS:

    $pdf->setOptions(['isHtml5ParserEnabled' => true]);
    $pdf->loadView('pdf.template')->setPaper('A4', 'portrait')->setWarnings(false)->save('my_pdf.pdf');

Создание PDF-файлов с помощью Laravel и Dompdf станет проще простого, если вы все настроите. Мы изучили процесс установки, настройку Laravel, создание базового PDF-файла, создание шаблона PDF и даже коснулись некоторых продвинутых методов. Используя возможности Laravel и Dompdf, вы можете улучшить свои веб-приложения с помощью возможностей динамического создания PDF-файлов.

Не забудьте поэкспериментировать с различными методами и опциями, предоставляемыми Dompdf, чтобы настроить PDF-файлы в соответствии с вашими конкретными требованиями. Приятного кодирования!