28
Abr
08

Gerando documentos PDF com FPDF - Parte 02

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:

Windows
C:\Downloads\ttf2pt1>ttf2pt1 -a C:\WINDOWS\Fonts\Verdana.ttf Verdana
Linux
$./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.

<?php
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.

<?phpdefine(”FPDF_FONTPATH”,”font/”);

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!


4 Respostas para “Gerando documentos PDF com FPDF - Parte 02”


  1. 1 Júlio Maio 4, 2008 em 1:07 pm

    Legal a iniciativa, man! Coloca umas coisas de java aí, ehhehehe

  2. 2 tidoc Maio 4, 2008 em 3:33 pm

    Hahahha. Beleza .. vou pensar no caso.

    Abrass

  3. 3 ivo Julho 16, 2008 em 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. 4 Fernando Libório Julho 16, 2008 em 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

Deixe um comentário