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:

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!

Entry Filed under: PHP. Tags: , , , , , , , .

4 Comments Add your own

  • 1. Júlio  |  Maio 4, 2008 at 1:07 pm

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

    Responder
  • 2. tidoc  |  Maio 4, 2008 at 3:33 pm

    Hahahha. Beleza .. vou pensar no caso.

    Abrass

    Responder
  • 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???

    Responder
  • 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

    Responder

Leave a Comment

Required

Required, hidden

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


 

Abril 2008
S T Q Q S S D
    Mai »
 123456
78910111213
14151617181920
21222324252627
282930  

Arquivos

Tópicos recentes

Tags

Addfont apache Aplicações audio bash Carreira desabilitado desativado Desktop diminuir Documento emprego Encoding Firefox FPDF Gerenciador Google GTK+ HDA iconv iReport Jasper jasperserver Java Linux MakeFont mudo mysql Partição PDF Perl PHP postgres procedure redimensionar Relatorio script shell shrink SLACKWARE som ttf2pt1 vaga Vista Windows

Categorias

Blogroll