Gerando documentos PDF com FPDF – Parte 02
Abril 28, 2008
Antes tarde do que nunca. Hoje iremos falar do método AddFont(). Este método serve para importar uma nova font TrueType ou Type1 ao documento PDF.
Ingredientes:
- Conversor de fonts TrueType/Type1
- Fonts TrueType/Type1
- FPDF
>> ttf2pt1
Se você é usuário *nix, baixe a última versão aqui: http://ttf2pt1.sourceforge.net/download.html se for usuário windows, tente aqui: http://gnuwin32.sourceforge.net/packages/ttf2pt1.htm ou aqui: http://public.box.net/ischool
Após concluir o download, descompacte o arquivo em um diretório de sua preferência. Vá até a console ( bash, ksh, etc ou prompt de comando para os usuários do windows ) e execute o comando:
C:\Downloads\ttf2pt1>ttf2pt1 -a C:\WINDOWS\Fonts\Verdana.ttf Verdana
$./ttf2pt1 -a /mnt/WINDOWS/Fonts/Verdana.ttf Verdana
O comando acima irá produzir dois arquivos. Um com a extensão .AFM e o outro T1A. Agora vamos retornar ao PHP. Pegue os balai de gato gerados anteriormente e a fonte ttf ( em nosso caso Verdana.ttf ) e leve para o diretório font do FPDF. Agora estamos prontos pra criar o arquivo que irá gerar as fonts que serão usadas de fato em nosso script PHP. Crie um script PHP com o código abaixo.
require_once ‘makefont/makefont.php’;MakeFont( ‘Verdana.ttf’, ‘Verdana.afm’, ‘ISO-8859-1′ );
?>
Tá pronta a bagaça. Agora basta executar o arquivo via CLI ( linha de comando ) ou por HTTP mesmo.
Pronto, agora você tem dois arquivos novos: Verdana.php e Verdana.z. Agora você já pode usar sua font Verdana em suas relatórios em PDF usando o método AddFont() como no exemplo abaixo.
require_once “fpdf_dir/fpdf.php”;
$pdf = &new FPDF(”L”,”mm”,”A4″);
$pdf->Open();
$pdf->AddPage();
$pdf->AddFont(“Verdana”);
$pdf->SetFont(“Verdana”,”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();
?>
É isso ai, mangaba não é não? Se ainda tiverem dúvidas, olhem este artigo feito pela iSchool http://ischool.000webhost.info/php/curso-fpdf-recursos-2 que é muito bom.
Abraços e até a próxima!
Entry Filed under: PHP. Tags: Addfont, FPDF, Linux, MakeFont, PDF, PHP, ttf2pt1, Windows.
4 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.
Júlio | Maio 4, 2008 at 1:07 pm
Legal a iniciativa, man! Coloca umas coisas de java aí, ehhehehe
2.
tidoc | Maio 4, 2008 at 3:33 pm
Hahahha. Beleza .. vou pensar no caso.
Abrass
3.
ivo | Julho 16, 2008 at 10:34 am
a opção iconv não me funciona tenho assim $conteudo = iconv(“ISO-8859-1″, “UTF-8″, $row_destaque['conteudo']); e quando gera o pdf ele vem assim “Pablo Ruiz Picasso (Málaga, 25 de Outubro, 1881 – Mougins, 8 de Abril, 1973) foi
reconhecidamente um dos mestres da Arte do século” sugestões???
4.
Fernando Libório | Julho 16, 2008 at 11:02 pm
Olá Ivo. Os caracteres estão em html. Use a função html_entity_decode.
Dá uma olhada nisso: http://www.php.net/manual/pt_BR/function.html-entity-decode.php
Abraços