Требуется этот пакет в вашем композиторе Composer.json и обновите. Это также загрузит пакет и библиотеки DOMPDF + Fontlib.
composer require barryvdh/laravel-dompdf
После обновления композитора добавить следующие строки, чтобы зарегистрировать поставщика в bootstrap/app.php
$app->register(BarryvdhDomPDFServiceProvider::class);
Чтобы изменить конфигурацию, скопируйте файл конфигурации в папку конфигурации и включите его в bootstrap/app.php :
$app->configure('dompdf');
Вы можете создать новый экземпляр DOMPDF и загрузить строку HTML, файл или имя. Вы можете сохранить его в файл, или поток (показать в браузере) или загрузить.
use Barryvdh DomPDF Facade Pdf ;
$ pdf = Pdf:: loadView ( ' pdf.invoice ' , $ data );
return $ pdf -> download ( ' invoice.pdf ' );или используйте контейнер приложения:
$ pdf = App:: make ( ' dompdf.wrapper ' );
$ pdf -> loadHTML ( ' <h1>Test</h1> ' );
return $ pdf -> stream ();Или используйте фасад:
Вы можете цепорить методы:
return Pdf:: loadFile ( public_path (). ' /myfile.html ' )-> save ( ' /path-to/my_stored_file.pdf ' )-> stream ( ' download.pdf ' );Вы можете изменить ориентацию и размер бумаги, а также скрыть или показать ошибки (по умолчанию ошибки отображаются, когда отладка включена)
Pdf:: loadHTML ( $ html )-> setPaper ( ' a4 ' , ' landscape ' )-> setWarnings ( false )-> save ( ' myfile.pdf ' )Если вам нужен вывод в качестве строки, вы можете получить рендерированный PDF с функцией output (), чтобы вы могли сохранить/выводить его самостоятельно.
Используйте php artisan vendor:publish для создания файла конфигурации, расположенного по адресу config/dompdf.php который позволит вам определить локальные конфигурации для изменения некоторых настроек (бумага по умолчанию и т. Д.). Вы также можете использовать свой ConfigProvider для установки определенных ключей.
Настройки конфигурации по умолчанию установлены в config/dompdf.php . Скопируйте этот файл в свой собственный каталог конфигурации, чтобы изменить значения. Вы можете опубликовать конфигурацию, используя эту команду:
php artisan vendor:publish --provider= " BarryvdhDomPDFServiceProvider "Вы все еще можете изменить параметры DOMPDF в вашем коде перед генерацией PDF с помощью этой команды:
Pdf:: setOption ([ ' dpi ' => 150 , ' defaultFont ' => ' sans-serif ' ]);Доступные варианты и их значения по умолчанию:
В ваших шаблонах установите метатаг UTF-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
Вы можете использовать свойства CSS page-break-before / page-break-after чтобы создать новую страницу.
<style>
.page-break {
page-break-after: always;
}
</style>
<h1>Page 1</h1>
<div class="page-break"></div>
<h1>Page 2</h1>
Эта обертка DOMPDF для LARAVE