Gerar relatórios em PDF a partir de dados armazenados em um banco de dados MySQL é uma tarefa comum em muitas aplicações. Esses relatórios podem ser usados para análise, apresentação de dados ou geração de documentos oficiais. Neste post, vamos explorar como você pode gerar relatórios em PDF usando MySQL, utilizando ferramentas e bibliotecas populares para facilitar o processo.
Passo 1: Preparar o ambiente
Antes de começar a gerar relatórios em PDF, você precisará configurar seu ambiente. Isso envolve:
- Instalar o MySQL: Certifique-se de que o MySQL está instalado e configurado corretamente em seu sistema;
- Escolher uma linguagem de programação: Você pode usar diversas linguagens para gerar PDFs, como PHP, Python, Java ou .NET. Neste guia, vamos usar PHP como exemplo, mas os conceitos podem ser aplicados a outras linguagens;
- Instalar uma biblioteca para geração de PDF: Existem várias bibliotecas disponíveis para gerar PDFs. Algumas das mais populares incluem:
- TCPDF: Uma biblioteca PHP para criar arquivos PDF.
- FPDF: Outra biblioteca PHP simples e fácil de usar.
- dompdf: Permite a conversão de HTML para PDF, muito útil se você deseja um layout mais elaborado.
Para este exemplo, usaremos o TCPDF. Você pode instalá-lo via Composer:
composer require tecnickcom/tcpdf
Passo 2: Conectar ao banco de dados MySQL
Comece criando um script PHP que se conecte ao seu banco de dados MySQL e busque os dados que você deseja incluir no relatório.
<?php
$servername = "localhost";
$username = "usuario";
$password = "senha";
$dbname = "nome_do_banco";
$conn = new mysqli($servername, $username, $password, $dbname);
// Verificar conexão
if ($conn->connect_error) {
die("Conexão falhou: " . $conn->connect_error);
}
// Consulta SQL para buscar dados
$sql = "SELECT coluna1, coluna2, coluna3 FROM tabela";
$result = $conn->query($sql);
?>
Passo 3: Criar o relatório em PDF
Depois de conectar ao banco de dados e obter os dados, o próximo passo é gerar o PDF.
<?php
require_once('tcpdf.php');
// Criar uma nova instância de TCPDF
$pdf = new TCPDF();
// Configurações do PDF
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Seu Nome');
$pdf->SetTitle('Relatório em PDF');
$pdf->SetHeaderData('', 0, 'Título do Relatório', 'Descrição do Relatório');
// Adicionar uma página
$pdf->AddPage();
// Definir fonte
$pdf->SetFont('helvetica', '', 12);
// Verificar se há resultados
if ($result->num_rows > 0) {
// Adicionar cabeçalho da tabela
$pdf->Cell(40, 10, 'Coluna 1', 1);
$pdf->Cell(40, 10, 'Coluna 2', 1);
$pdf->Cell(40, 10, 'Coluna 3', 1);
$pdf->Ln();
// Output dos dados da tabela
while($row = $result->fetch_assoc()) {
$pdf->Cell(40, 10, $row['coluna1'], 1);
$pdf->Cell(40, 10, $row['coluna2'], 1);
$pdf->Cell(40, 10, $row['coluna3'], 1);
$pdf->Ln();
}
} else {
$pdf->Cell(0, 10, 'Nenhum dado encontrado', 1);
}
// Fechar e gerar o PDF
$pdf->Output('relatorio.pdf', 'I'); // 'I' para exibir no navegador, 'D' para download
$conn->close();
?>
Passo 4: Testar e ajustar
Após implementar o código, você deve testar para garantir que o PDF está sendo gerado corretamente:
- Acesse o script PHP em seu navegador;
- Verifique o PDF gerado e faça ajustes conforme necessário. Você pode personalizar a aparência do PDF, alterando as configurações de fonte, cores, layout e muito mais.
Dicas para relatórios em PDF
- Formatar dados: Considere formatar os dados (como datas e números) antes de inseri-los no PDF para melhor legibilidade;
- Adicionar gráficos: Para relatórios mais complexos, você pode considerar gerar gráficos utilizando bibliotecas como Chart.js ou Google Charts e exportá-los como imagens para incluir no PDF;
- Estilização: Use HTML e CSS se você estiver usando bibliotecas que suportam a conversão de HTML para PDF, como o dompdf;
- Segurança: Se os dados forem sensíveis, considere implementar medidas de segurança, como criptografia ou autenticação, ao gerar e armazenar os PDFs.
Outro exemplo prático
1. Crie um banco de dados e o popule;
2. Crie o código PHP para conectar ao banco de dados:
//Dados do servidor local
$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$banco = 'teste';
$tabela = 'nomes';
3. Crie os seguintes códigos para a geração do arquivo .pdf:
//TÍTULO DO RELATÓRIO
$titulo = "Funcionários CriandoBits";
//LOGO QUE SERÁ COLOCADO NO RELATÓRIO
$imagem = "logo_criandoBits.jpg";
//ENDEREÇO DA BIBLIOTECA FPDF
$end_fpdf = "K:/MYSQL/fpdf17";
//NUMERO DE RESULTADOS POR PÁGINA
$por_pagina = 10;
//ENDEREÇO ONDE SERÁ GERADO O PDF
$end_final = "K:/MYSQL/relatorio.pdf";
//TIPO DO PDF GERADO
//F-> SALVA NO ENDEREÇO ESPECIFICADO NA VAR END_FINAL
$tipo_pdf = "F";
//CONECTA COM O MYSQL
$conn = mysql_connect($servidor, $usuario, $senha);
$db = mysql_select_db($banco, $conn);
$sql = mysql_query("SELECT A.nome, A.idade, A.salario_novo FROM nomes A", $conn);
$row = mysql_num_rows($sql);
//VERIFICA SE RETORNOU ALGUMA LINHA
if(!$row) { echo "Não retornou nenhum registro";
die; }
//CALCULA QUANTAS PÁGINAS VÃO SER NECESSÁRIAS
$paginas = ceil($row/$por_pagina);
//PREPARA PARA GERAR O PDF
define("FPDF_FONTPATH", "$end_fpdf/font/");
require_once("$end_fpdf/fpdf.php");
$pdf = new FPDF();
//INICIALIZA AS VARIÁVEIS
$linha_atual = 0;
$inicio = 0;
//PÁGINAS
for($x=1; $x<=$paginas; $x++) {
//VERIFICA
$inicio = $linha_atual;
$fim = $linha_atual + $por_pagina;
if($fim > $row) $fim = $row;
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont("Arial", "B", 9);
$pdf->Image($imagem, 0, 8);
$pdf->Ln(2);
$pdf->Cell(185, 8, "Página $x de $paginas", 0, 0, 'R');
//QUEBRA DE LINHA
$pdf->Ln(20);
//MONTA O CABEÇALHO
$pdf->Cell(85, 8, "NOME COMPLETO", 1, 0, 'C');
$pdf->Cell(15, 8, "IDADE", 1, 0, 'L');
$pdf->Cell(50, 8, "SALÁRIO NOVO", 1, 1, 'L');
//EXIBE OS REGISTROS
for($i=$inicio; $i<$fim; $i++) {
$pdf->Cell(85, 8, mysql_result($sql, $i, "NOME"), 1, 0, 'C');
$pdf->Cell(15, 8, mysql_result($sql, $i, "IDADE"), 1, 0, 'L');
$pdf->Cell(50, 8, mysql_result($sql, $i, "SALARIO_NOVO"), 1, 1, 'L');
$linha_atual++;
}//FECHA FOR(REGISTROS – i)
}//FECHA FOR(PAGINAS – x)
//SAIDA DO PDF
$pdf->Output("$end_final", "$tipo_pdf");
Você precisa baixar a biblioteca FPDF e descompactá-la num local qualquer. Para baixar, acesse o site www.fpdf.org/.
Gerar relatórios em PDF a partir de dados do MySQL é uma tarefa acessível e útil para muitos desenvolvedores.
Com ferramentas como TCPDF, você pode criar documentos personalizados e profissionais com facilidade. Ao seguir os passos deste guia, você estará apto a produzir relatórios informativos e visualmente atraentes que podem ser usados para análise ou apresentação de dados.
Domine os principais comandos, Operadores, Manipulação de dados, Funções, Drop e Uploads, Query, SubQuerys, Views, Segurança e muito mais!
O acesso ao nosso curso é vitalício e com suporte exclusivo.
CLIQUE NA IMAGEM ABAIXO PARA MAIS DETALHES:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários