В этом сообщении блога мы рассмотрим, как использовать DomPDF в контроллере Laravel для создания и отображения PDF-документов, содержащих данные. DomPDF — популярная библиотека PHP, которая позволяет конвертировать HTML-контент в формат PDF. Мы рассмотрим различные методы и предоставим примеры кода, которые помогут вам начать работу.
Метод 1: базовая настройка и установка
Для начала убедитесь, что в вашей системе установлен Laravel. Вы можете создать новый проект Laravel, используя следующую команду:
laravel new dompdf-demo
Затем установите библиотеку DomPDF с помощью Composer:
composer require dompdf/dompdf
Метод 2: создайте контроллер
Теперь давайте создадим контроллер, который будет обрабатывать создание PDF-файла и отображение данных. Запустите следующую команду, чтобы создать новый контроллер:
php artisan make:controller PDFController
Метод 3: определение маршрута
В файле маршрутов (routes/web.php) определите маршрут, который соответствует методу PDFController для создания и отображения PDF-файла:
Route::get('/generate-pdf', 'PDFController@generatePDF')->name('pdf.generate');
Метод 4: создание PDF с данными
Внутри PDFControllerсоздайте метод generatePDF. Этот метод сгенерирует PDF-файл с использованием DomPDF и передаст данные в представление PDF:
use Dompdf\Dompdf;
public function generatePDF()
{
// Retrieve data from your database or any other source
$data = ['title' => 'Sample Data', 'content' => 'Lorem ipsum dolor sit amet.'];
// Generate the PDF
$dompdf = new Dompdf();
$dompdf->loadHtml(view('pdf', $data));
$dompdf->render();
// Display the PDF in the browser
return $dompdf->stream('document.pdf');
}
Метод 5: создание представления PDF
Создайте новый файл представления колонок с именем pdf.blade.phpв каталоге resources/views. Это представление будет содержать HTML-структуру PDF-документа, включая данные, переданные от контроллера:
<!DOCTYPE html>
<html>
<head>
<title>{{ $title }}</title>
</head>
<body>
<h1>{{ $title }}</h1>
<p>{{ $content }}</p>
</body>
</html>
Метод 6. Проверка создания PDF-файла
Чтобы проверить создание PDF-файла, перейдите по маршруту, определенному на шаге 3 (/generate-pdf). Это запустит метод generatePDFв PDFControllerи отобразит сгенерированный PDF-файл в браузере.
В этой статье мы рассмотрели шаги, необходимые для реализации DomPDF в контроллере Laravel для создания и отображения PDF-документов. Мы рассмотрели создание контроллера, определение маршрутов, создание PDF-файлов с данными, создание представлений PDF и тестирование создания PDF-файлов. Следуя этим методам, вы можете легко включить функцию создания PDF-файлов в свое приложение Laravel.