Desenvolvimento
Web II
Framework Laravel 5
Gerando Documentos PDF – DOMPDF
([Link]
Gil Eduardo de Andrade
DOMPDF
Introdução:
• Durante o desenvolvimento de diversos tipos de
aplicações web torna-se necessário gerar
documentos (relatórios, certificados, recibos) em
formato PDF;
• Nesse contexto, podemos utilizar, quando
estamos desenvolvendo aplicações Laravel, o
pacote DOMPDF ;
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Introdução:
• O pacote DOMPDF possui como vantagem a
possibilidade de criarmos um documento PDF a
partir de uma View Laravel;
• Essa característica permite ao desenvolvedor
modelar/construir o formato do documento PDF
via código HTML, Blade, etc.;
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Instalação (via composer):
$ composer require barryvdh/laravel-dompdf
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Configuração – Provider:
(Arquivo: config/[Link])
Após a instalação do
DOMPF é preciso definir
um provedor de serviço
para o novo pacote
instalado. Os provedores
de serviço Laravel são
responsáveis por
inicializar/carregar todos
os principais serviços da
aplicação quando ela é
executada.
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Configuração – Alias:
(Arquivo: config/[Link])
Após configurar o provedor de serviço para o DOMPDF, vamos definir
um Alias (apelido) para que possamos invocar os métodos dos pacote
DOM de modo transparente, permitindo simplificar a codificação
necessária para gerar os documentos PDF.
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Aplicação Exemplo
[Link]
DOMPDF
Aplicaçã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)
Uma classe de modelo e uma migration foram criadas para armazenar as informações dos
alunos, que serão utilizadas para geração de relatório e certificado. Para o exemplo proposto
consideramos que os alunos possuem um identificador, um nome, um curso e uma turma.
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Aplicação Adaptada
SETA – View Aluno:
(Arquivos: [Link])
Relatório e Certificado Relatório e Certificado
Coletivo Individual
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Aplicação Adaptada
SETA – View Relatório PDF:
(Arquivos: [Link])
Uma nova View foi criada para gerar o
relatório dos alunos em formato PDF.
Por se tratar de uma View, a linguagem
HTML é utilizada para definir o formato
ou estrutura desse relatório.
Assim como visto nas primeiras aulas é
possível enviar dados para uma View e
manipulá-los e exibí-los via Blade.
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Aplicação Adaptada
SETA – View Relatório PDF:
(Arquivo: [Link]) Relatório PDF Gerado a partir da View
alunoRelató[Link]
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Aplicação Adaptada
SETA – View Certificado PDF:
(Arquivos: [Link])
Para geração dos certificados, é necessário
gerar uma nova página dentro do
documento PDF para cada um dos
certificados dos alunos. Como os
certificados são modelados por uma View,
foi definida uma <div> contendo um page-
break-before.
Foi definida, também, uma linha sólida
para sempre que um novo parágrafo (tag
<p>) é criado.
A <div> “page_break” é invocada sempre
que um novo certificado vai ser gerado.
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Aplicação Adaptada
SETA – View Certificado PDF:
(Arquivos: [Link])
Para obter o caminho das
imagens, de modo que elas
possam ser carregadas pelo
pacote DOM, é necessário
utilizar o método public_path()
via abertura da tag “<?php”.
Para adicionar as imagens para o certificado também utilizamos
a tag “<?php”, passando para tag <img> as variáveis php criadas
anteriormente com os caminhos previamente definidos.
PS. o restante do código não é detalhado porque trata-se de HTML puro, que não faz parte
do escopo da disciplina.
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Aplicação Adaptada
SETA – View Certificado PDF:
(Arquivo: [Link])
Certificado PDF Gerado a
partir da View
[Link]
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Aplicação Adaptada
SETA – Controller Aluno:
(Arquivos: [Link] – Gerar PDF)
Método loadView() é
invocado, ele recebe como
parâmetros principais: o
nome da View
(alunoRelatorio) que
servirá de referência para
geração do documento PDF
e os dados
(compact(‘alunos’)) que
serão utilizados pela View.
Os parâmetros complementares: “setPaper(‘A4’ , ‘portrait’)” e “stream(‘..’)” permitem
configurar, respectivamente, o tamanho / orientação das páginas do documento e a forma
como o documento deve ser apresentado (stream indica que deve ser aberto no navegador, já
download indica que deve ser baixado para máquina local).
Aula 13: Gerando Documento PDF - Pacote DOMPDF
DOMPDF
Exemplos Utilizados no Documento
[Link]
Exercício sobre o Conteúdo
[Link]
Aula 13: Gerando Documento PDF - Pacote DOMPDF