Найти тему
Laravel Topsite Web

Создание PDF файлов из Blade в Laravel

Пакет Laravel PDF от Spatie предоставляет простой способ создания PDF файлов в приложениях Laravel. Он использует представления Blade для рендеринга HTML и создания PDF файла из этого представления с помощью Browsershot. Это открывает возможность использовать современные инструменты CSS, такие как Grid и Flexbox, современные фреймворки CSS, такие как Tailwind, и даже код JavaScript для таких вещей, как диаграммы рендеринга.

Вот основной пример создания PDF-файла и возврата его из контроллера, передачи переменных в шаблон, который вы можете использовать для динамического отображения данных PDF:

use Spatie\LaravelPdf\Facades\Pdf;
class DownloadInvoiceController
{
public function __invoke(Invoice $invoice)
{
return Pdf::view('pdfs.invoice', ['invoice' => $invoice])
->format('a4')
->name('your-invoice.pdf');
}
}

При запуске пакет Laravel PDF поддерживает следующие функции:

  • Рендеринг PDF файлов из шаблонов Blade или HTML строки
  • Сохраните сгенерированный PDF на диск Laravel
  • Запустите код JavaScript при создании PDF
  • Поддельный PDF для тестирования
  • Генерируйте PDF файлы на Lambda с помощью Laravel Sidecar
  • Расширенное управление PDF с такими инструментами, как разрывы страниц, настройка Browsershot
  • И многое другое...

Создание PDF файлов в Laravel с помощью Blade сделает создание красивых пользовательских PDF файлов проще и мощнее, чем когда-либо! Чтобы начать, ознакомьтесь с официальной документацией Laravel PDF. Исходный код доступен на GitHub по адресу spatie/laravel-pdf.