Exigir este pacote em seu composer.json e atualizar o Composer. Isso vai baixar o pacote e as bibliotecas DOMPDF + FONTLIB também.
composer require barryvdh/laravel-dompdf
Depois de atualizar o Composer, adicione as seguintes linhas para registrar provedor no bootstrap/app.php
$app->register(BarryvdhDomPDFServiceProvider::class);
Para alterar a configuração, copie o arquivo de configuração para sua pasta de configuração e habilite -o no bootstrap/app.php :
$app->configure('dompdf');
Você pode criar uma nova instância do DOMPDF e carregar um nome de string, arquivo ou visualização HTML. Você pode salvá -lo em um arquivo ou stream (mostrar no navegador) ou download.
use Barryvdh DomPDF Facade Pdf ;
$ pdf = Pdf:: loadView ( ' pdf.invoice ' , $ data );
return $ pdf -> download ( ' invoice.pdf ' );ou use o contêiner de aplicativos:
$ pdf = App:: make ( ' dompdf.wrapper ' );
$ pdf -> loadHTML ( ' <h1>Test</h1> ' );
return $ pdf -> stream ();Ou use a fachada:
Você pode encadear os métodos:
return Pdf:: loadFile ( public_path (). ' /myfile.html ' )-> save ( ' /path-to/my_stored_file.pdf ' )-> stream ( ' download.pdf ' );Você pode alterar a orientação e o tamanho do papel e ocultar ou mostrar erros (por padrão, os erros são mostrados quando a depuração está ligada)
Pdf:: loadHTML ( $ html )-> setPaper ( ' a4 ' , ' landscape ' )-> setWarnings ( false )-> save ( ' myfile.pdf ' )Se você precisar da saída como uma string, poderá obter o PDF renderizado com a função de saída (), para poder salvá -la/gerá -la.
Use php artisan vendor:publish para criar um arquivo de configuração localizado em config/dompdf.php que permitirá que você definir configurações locais para alterar algumas configurações (papel padrão etc). Você também pode usar o seu ConfigProvider para definir determinadas chaves.
As configurações de configuração padrão são definidas em config/dompdf.php . Copie este arquivo para o seu próprio diretório de configuração para modificar os valores. Você pode publicar a configuração usando este comando:
php artisan vendor:publish --provider= " BarryvdhDomPDFServiceProvider "Você ainda pode alterar as opções DOMPDF em seu código antes de gerar o PDF usando este comando:
Pdf:: setOption ([ ' dpi ' => 150 , ' defaultFont ' => ' sans-serif ' ]);Opções disponíveis e seus padrões:
Em seus modelos, defina o UTF-8 Metatag:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
Você pode usar as propriedades CSS page-break-before / page-break-after para criar uma nova página.
<style>
.page-break {
page-break-after: always;
}
</style>
<h1>Page 1</h1>
<div class="page-break"></div>
<h1>Page 2</h1>
Este invólucro DOMPDF para Laravel é um software de código aberto licenciado sob a licença do MIT