Представил
Существует множество расширений для PDF. На этот раз выбран DOMPDF. Вот конкретные операции. Код смотрит на GitHub.
Установка и настройка композитора
Все еще устанавливайте с помощью composer, согласно документу
- реализовать
композитору требуется barryvdh/laravel-dompdf - Далее идет служба регистрации, в
config/app.phpДобавить вBarryvdh\DomPDF\Поставщик услуг::класс,Следующим образом
- Добавление фасадов также находится в
config/app.phpДобавить в'PDF' => Barryvdh\DomPDF\Фасад::класс,Следующим образом
- После вышеуказанных трех шагов его можно использовать в обычном режиме. Для того, чтобы удобно изменить конфигурацию, вы можете
configСоздать файл конфигурации в каталоге, выполнитьпоставщик php artisan:опубликоватьПосле успеха вы можете увидетьconfig/dompdf.phpФайл конфигурации. В соответствии с их собственными потребностями для модификации, но также поддерживает динамическую модификацию.
Воспользуйся
После определения маршрута проверяется новый контроллер. Согласно официальным документам, вы можете использовать Приложение::make('dompdf.обертка') возможно PDF Создан экземпляр фасада, эффект тот же, используйте внимание фасада используйте PDF 。
Используйте первый пример в документе
$pdf = App::make('dompdf.wrapper');
$pdf - > Load HTML ('< H1 > Test '); // Generate PDF from HTML code
return $pdf->stream();Эффект заключается в следующем
Давайте попробуем второй пример в документе.
$pdf = PDF:: loadView ('pdf', ['date'=> date ('Y-m-d')]; //Generate PDF from view file
Return $pdf - > Download ('date. pdf'); // parameter is file nameПосле открытия ссылки вы можете скачать имя дата.pdf Документ гласит следующее
Выше используются load HTML() и load View() Два метода, основанные на HTML-коде и генерации представлений. Используйте LoadFile() Давайте попробуем.
$file = storage_path('app/public/pdf/name.html');
$pdf = PDF::loadFile($file);
return $pdf->stream();Вы также можете вызывать несколько методов в цепочке. Следующий код создает PDF-файл на основе представления, сохраняет его по указанному пути и, наконец, отображает его.
return PDF::loadView('pdf', ['date' => date('Y-m-d')])->save(storage_path('app/public/pdf/date.pdf'))->stream('date.pdf');Ссылка: DOMPDF.