Gerando documentos PDF com FPDF – Parte 01
Abril 21, 2008
Olá pessoal!
Hoje vou iniciar uma série de postagens sobre como gerar documentos em PDF usando a classe FPDF.
Por agora vou mostrar como fazer a configuração básica e criar um exemplo funcional. Go, Go, Go!!
Você pode baixar o FPDF no site oficial do projeto: http://www.fpdf.org/. Para começar a criar seus arquivos em PDF, basta copiar os arquivos para seu servidor web. Certifique-se de que os arquivos estão no seu include path.
Vamos então à um exemplo prático:
<?php
define(‘FPDF_FONTPATH’,'font/’);
require(‘fpdf_dir/fpdf.php’);
$pdf = &new FPDF(“L”,”mm”,”A4″);
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont(‘Arial’,'B’, 14);
$pdf->Text(40,20,’Título do Relatório’);
$pdf->SetLineWidth(0.7);
$pdf->Line(40,22,200,22);
$pdf->SetXY(40,26);
$pdf->SetFont(”,”,12);
$pdf->Cell(30,5,’Modelo’,0,0,’C',0);
$pdf->Cell(30,5,’Fabricante’,0,0,’C',0);
$pdf->Output();
?>
Explicando o código:
Define o caminho para as fonts usadas pelo FPDF. Em outro post irei explicar como criar suas próprias fonts.
define(‘FPDF_FONTPATH’,'font/’);
Inclui as definições da classe FPDF no script PHP.
require(‘fpdf_dir/fpdf.php’);
Cria uma nova instância da classe FPDF para um documento com orientação paisagem (Landscape), com medidas em milímetros e no formato A4. Feito isso, o documento é iniciado.
$pdf = &new FPDF(“L”,”mm”,”A4″);
$pdf->Open();
Adiciona uma nova página ao documento.
$pdf->AddPage();
Define a font do documento como Arial, tamanho 14 em negrito. Essa configuração será válida até que SetFont() seja chamado novamente.
$pdf->SetFont(‘Arial’,'B’, 14);
Escreve o texto “Título do Relatório” na linha 40 (eixo x) e coluna 20 (eixo y)
$pdf->Text(40,20,’Título do Relatório’);
Cria uma linha horizontal logo abaixo do texto definido anteriormente.
$pdf->SetLineWidth(0.7);
$pdf->Line(40,22,200,22);
Aponta o cursor para a posição (x,y) definida em SetXY(). Retira o negrito da font e altera o tamanho para 12.
$pdf->SetXY(40,26);
$pdf->SetFont(”,”,12);
Cria duas células com as mesmas dimensões ( 30mm de largura e 5mm de altura ), sem borda, apontando o cursor para o final da linha, após a célula criada, com o texto alinhado no centro e com prenchimento transparente.
$pdf->Cell(30,5,’Modelo’,0,0,’C',0);
$pdf->Cell(30,5,’Fabricante’,0,0,’C',0);
Finalmente, renderiza o seu documento \o/.
$pdf->Output();
Encoding
Caso você tenha problemas com acentuação na saída do documento, use a função iconv do PHP. Nela você irá converter um texto de um charset de origem para outro de destino. Use desta forma:
$pdf->Text(40,20,iconv(‘utf-8′,’iso-8859-1′,’Título do Relatório’));
É isso ai, espero que tenham gostado. Um abraço e até o próximo post.
Entry Filed under: PHP. Tags: Documento, Encoding, FPDF, iconv, PDF, PHP, Relatorio.
5 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed
1.
Bruno | Maio 3, 2008 at 2:51 pm
Legal a iniciativa! Continue postando véi \o/ =D
2.
Propercio | Abril 7, 2009 at 3:29 pm
Valeu pela dica do iconv!
Abraços.
3.
Bruno | Julho 22, 2009 at 5:17 pm
E ae cara blz??
Não funcionou a parte de acentuação – continua pegando a codificação do acento tipo ã = ã alguma ideia, alguma outra solução q possa me ajudar?
4.
Arthur Netto | Julho 23, 2009 at 3:45 pm
Muito bom, o artigo ficou genial, e o melhor de tudo vc disse o erro que poderia acontecer e a solução. Posta mais. rsrs..
5.
André | Setembro 21, 2009 at 6:57 pm
Valeu por ensinar como arrumar os acentos(iconv)….