Пакет 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.