View
219
Download
1
Category
Preview:
Citation preview
Desenvolvimento Web II
Gil Eduardo de Andrade
Framework Laravel 5Gerando Documentos PDF – DOMPDF
(https://github.com/barryvdh/laravel-dompdf)
DOMPDF
Introdução:
• Durante o desenvolvimento de diversos tipos deaplicações web torna-se necessário gerardocumentos (relatórios, certificados, recibos) emformato PDF;
• Nesse contexto, podemos utilizar, quandoestamos desenvolvendo aplicações Laravel, opacote DOMPDF ;
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Introdução:
• O pacote DOMPDF possui como vantagem apossibilidade de criarmos um documento PDF apartir de uma View Laravel;
• Essa característica permite ao desenvolvedormodelar/construir o formato do documento PDFvia código HTML, Blade, etc.;
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDFInstalação (via composer):$ composer require barryvdh/laravel-dompdf
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Configuração – Provider:(Arquivo: config/app.php)
Aula 13: Gerando Documento PDF - Pacote DOMPDF
Após a instalação doDOMPF é preciso definirum provedor de serviçopara o novo pacoteinstalado. Os provedoresde serviço Laravel sãoresponsáveis porinicializar/carregar todosos principais serviços daaplicação quando ela éexecutada.
DOMPDF
Configuração – Alias:(Arquivo: config/app.php)
Aula 13: Gerando Documento PDF - Pacote DOMPDF
Após configurar o provedor de serviço para o DOMPDF, vamos definirum Alias (apelido) para que possamos invocar os métodos dos pacoteDOM de modo transparente, permitindo simplificar a codificaçãonecessária para gerar os documentos PDF.
DOMPDFAplicação Exemplo
http://www.gileduardo.com.br/ifpr/dwii/downloads/dwii_exdoc13.zip
DOMPDFAplicação Adaptada
SETA – Menu e Rotas Principais:(Adaptação: Exemplo Primeira Aula Laravel - DOMPDF)
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF Aplicação Adaptada
SETA – Models / Migrations – Aluno:(Arquivos: create_aluno_models_table.php)
Aula 13: Gerando Documento PDF - Pacote DOMPDF
Uma classe de modelo e uma migration foram criadas para armazenar as informações dosalunos, que serão utilizadas para geração de relatório e certificado. Para o exemplo propostoconsideramos que os alunos possuem um identificador, um nome, um curso e uma turma.
DOMPDF Aplicação Adaptada
SETA – View Aluno:(Arquivos: aluno.blade.php)
Aula 13: Gerando Documento PDF - Pacote DOMPDF
Relatório e Certificado Coletivo
Relatório e Certificado Individual
DOMPDF Aplicação Adaptada
SETA – View Relatório PDF:(Arquivos: alunoRelatorio.blade.php)
Aula 13: Gerando Documento PDF - Pacote DOMPDF
Uma nova View foi criada para gerar orelatório dos alunos em formato PDF.Por se tratar de uma View, a linguagemHTML é utilizada para definir o formatoou estrutura desse relatório.
Assim como visto nas primeiras aulas épossível enviar dados para uma View emanipulá-los e exibí-los via Blade.
DOMPDF Aplicação Adaptada
SETA – View Relatório PDF:(Arquivo: alunoRelatorio.blade.php)
Aula 13: Gerando Documento PDF - Pacote DOMPDF
Relatório PDF Gerado a partir da ViewalunoRelatório.blade.php
DOMPDF Aplicação Adaptada
SETA – View Certificado PDF:(Arquivos: alunoCertificado.blade.php)
Aula 13: Gerando Documento PDF - Pacote DOMPDF
Para geração dos certificados, é necessáriogerar uma nova página dentro dodocumento PDF para cada um doscertificados dos alunos. Como oscertificados são modelados por uma View,foi definida uma <div> contendo um page-break-before.
A <div> “page_break” é invocada sempreque um novo certificado vai ser gerado.
Foi definida, também, uma linha sólidapara sempre que um novo parágrafo (tag<p>) é criado.
DOMPDF Aplicação Adaptada
SETA – View Certificado PDF:(Arquivos: alunoCertificado.blade.php)
Aula 13: Gerando Documento PDF - Pacote DOMPDF
Para obter o caminho dasimagens, de modo que elaspossam ser carregadas pelopacote DOM, é necessárioutilizar o método public_path()via abertura da tag “<?php”.
Para adicionar as imagens para o certificado também utilizamosa tag “<?php”, passando para tag <img> as variáveis php criadasanteriormente com os caminhos previamente definidos.
PS. o restante do código não é detalhado porque trata-se de HTML puro, que não faz partedo escopo da disciplina.
DOMPDF Aplicação Adaptada
SETA – View Certificado PDF:(Arquivo: alunoCertificado.blade.php)
Aula 13: Gerando Documento PDF - Pacote DOMPDF
Certificado PDF Gerado a partir da View
alunoCertificado.blade.php
DOMPDF Aplicação Adaptada
SETA – Controller Aluno:(Arquivos: AlunoController.php – Gerar PDF)
Aula 13: Gerando Documento PDF - Pacote DOMPDF
Os parâmetros complementares: “setPaper(‘A4’ , ‘portrait’)” e “stream(‘..’)” permitemconfigurar, respectivamente, o tamanho / orientação das páginas do documento e a formacomo o documento deve ser apresentado (stream indica que deve ser aberto no navegador, jádownload indica que deve ser baixado para máquina local).
Método loadView() éinvocado, ele recebe comoparâmetros principais: onome da View(alunoRelatorio) queservirá de referência parageração do documento PDFe os dados(compact(‘alunos’)) queserão utilizados pela View.
DOMPDF
Exemplos Utilizados no Documentohttp://www.gileduardo.com.br/ifpr/dwii/downloads/dwii_exdoc13zip
Aula 13: Gerando Documento PDF - Pacote DOMPDF
Exercício sobre o Conteúdo
http://www.gileduardo.com.br/ifpr/dwii/downloads/dwii_pratica13.pdf
Recommended