Você está na página 1de 3

PHP <?

php /* Ol Amigos, hoje iremos aprender a gerar um arquivo PDF com nosso querido PHP para isso , utilizaremos a biblioteca fpdf que se encontra em - > http://www. fpdf.org/ Objetivo : gerar um arquivo PDF apartir do PHP em formato de um artigo caso tenha alguma duvida faa o download do manual no site do fpdf j possui verses em portugues. os mtodos aqui utilizados estao todos explicados no final do artigo ! bom vamos ao trabalho ! */ //incluindo o arquivo do fpdf require_once("fpdf/fpdf.php"); //defininfo a fonte ! define('FPDF_FONTPATH','fpdf/font/'); //instancia a classe.. P=Retrato, mm =tipo de medida utilizada no casso milimetr os, tipo de folha =A4 $pdf= new FPDF("P","mm","A4"); //define a fonte a ser usada $pdf->SetFont('arial','',10); //define o titulo $pdf->SetTitle("Testando PDF com PHP !"); //assunto $pdf->SetSubject("assunto deste artigo!"); // posicao vertical no caso -1.. e o limite da margem $pdf->SetY("-1"); $titulo="Titulo do Artigo"; //escreve no pdf largura,altura,conteudo,borda,quebra de linha,alinhamento $pdf->Cell(0,5,$titulo,0,0,'L'); $pdf->Cell(0,5,'http://www.seusite.com.br',0,1,'R'); $pdf->Cell(0,0,'',1,1,'L'); $pdf->Ln(8); //hora do conteudo do artigo $pdf->SetFont('arial','',8); $novo="A Agncia Nacional de Aviao Civil (Anac) informou, nesta segunda-feira (2), q ue vai investigar se as companhias ereas tm culpa pelos atrasos e cancelamentos re gistrados durante o fim de semana. No sbado (30), o percentual de vos com mais de uma hora de atrasos chegou a 45,2%. No domingo (1), at as 19h30, 36% dos vos tiveram atrasos. "; //posiciona verticalmente 21mm $pdf->SetY("21"); //posiciona horizontalmente 30mm $pdf->SetX("30"); //escreve o conteudo de novo.. parametros posicao inicial,altura,conteudo(*texto ),borda,quebra de linha,alinhamento $pdf->MultiCell(0,5,$novo,0,1,'J'); $novo=" Nesta segunda-feira, a situao comeou a se normalizar, mas ainda h registro de proble mas. At as 10h, dos 623 vos previstos nos 13 principais aeroportos brasileiros, 12 6 tiveram atrasos de mais de uma hora, segundo balano divulgado pela Infraero, a estatal que administra os terminais areos. O nmero equivale a 20,2% do total. Quar enta e seis decolagens foram canceladas (7,3%). Os terminais que tiveram maiores percentuais de atrasos foram os do Recife (PE) e de Fortaleza (CE). Na Capital de Pernambuco, oito dos 24 vos marcados at as 10h

atrasaram mais de uma hora (33,3% do total). No terminal cearense, oito das 25 p artidas ocorreram fora O terminal que registrou maior ndice de cancelamentos foi o de Curitiba (PR). Das 22 decolagens programadas, quatro foram canceladas (18,1%). A assessoria de Infraero informa que os atrasos so conseqncia dos transtornos do fi m de semana. Muitos vos tiveram que ser remarcados para o incio desta semana. Previso - O presidente da Infraero, brigadeiro Jos Carlos Pereira, tambm foi prejud icado pela crise area. Ele tinha uma viagem marcada de Braslia para o Rio s 7h dest a segunda, mas o avio s decolou s 9h59. Apesar do transtorno, ele disse que as operaes esto ocorrendo normalmente nos princ ipais aeroportos do pas e a situao deve se normalizar at as 14h. "; //posiciona verticalmente 41mm $pdf->SetY("41"); //posiciona horizontalmente 10mm $pdf->SetX("10"); //escreve o conteudo de novo.. parametros posicao inicial,altura,conteudo(*texto ),borda,quebra de linha,alinhamento $pdf->MultiCell(0,5,$novo,0,1,'J'); //endereco da imagem,posicao X(horizontal),posicao Y(vertical), tamanho altura, tamanho largura $pdf->Image("teste.jpg", 8,20,20,20); /*******definindo o rodap*************************/ //posiciona verticalmente 270mm $pdf->SetY("270"); //data atual $data=date("d/m/Y"); $conteudo="criado em ".$data; $texto="por Alexandre Oliveira"; //imprime uma celula... largura,altura, texto,borda,quebra de linha, alinhamento $pdf->Cell(0,0,'',1,1,'L'); //imprime uma celula... largura,altura, texto,borda,quebra de linha, alinhamento $pdf->Cell(0,5,$texto,0,0,'L'); //imprime uma celula... largura,altura, texto,borda,quebra de linha, alinhamento $pdf->Cell(0,5,$conteudo,0,1,'R'); //imprime a saida do arquivo.. $pdf->Output("arquivo","I"); /* agora imaginem que estes dados viessem do banco de dados ? que maravilha hein ! seus artigos convertidos em pdf dinamicamente hein? ************************************************************************ REFERENCIAS : FPDF - >Esta o construtor da classe. Ele permite que seja definido o formato da pgina, a orientao e a unidade de medida usada em todos os mtodos (exeto para tamanho s de fonte). utilizacao : FPDF([string orientation [, string unit [, mixed format]]]) SetFont -> Define a fonte que ser usada para imprimir os caracteres de texto. obr igatria a chamada, ao menos uma vez, deste mtodo antes de imprimir o texto ou o do cumento resultante no ser vlido. utilizacao : SetFont(string family [, string style [, float size]]) SetTitle - >Define o ttulo do documento. utilizacao : SetTitle(string title)

SetSubject -> Define o assunto do documento utilizacao : SetSubject(string subject) SetX - >Define a abscissa da posio corrente. Se o valor passado for negativo, ele ser relativo margem direita da pgina. utilizacao : SetX(float x) SetY - > Move a abscissa atual de volta para margem esquerda e define a ordenada . Se o valor passado for negativo, ele ser relativo a margem inferior da pgina. utilizacao : SetY(float y) Cell - > Imprime uma clula (rea retangular) com bordas opcionais, cor de fundo e t exto. O canto superior-esquerdo da clula corresponde posio atual. O texto pode ser alinhado ou centralizado. Depois de chamada, a posio atual se move para a direita ou para a linha seguinte. possvel pr um link no texto. Se a quebra de pgina automtica est habilitada e a pilha for alm do limite, uma quebr a de pgina feita antes da impresso. utilizacao - >Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, int fill [, mixed link]]]]]]]) Ln - > Faz uma quebra de linha. A abscissa corrente volta para a margem esquerda e a ordenada somada ao valor passado como parmetro. utilizacao ->Ln([float h]) MultiCell - > Este mtodo permite imprimir um texto com quebras de linha. Podem se r automtica (assim que o texto alcana a margem direita da clula) ou explcita (atravs do caracter \n). Sero geradas tantas clulas quantas forem necessrias, uma abaixo da outra. O texto pode ser alinhado, centralizado ou justificado. O bloco de clulas podem t er borda e um fundo colorido. utilizacao : MultiCell(float w, float h, string txt [, mixed border [, string al ign [, int fill]]]) Image ->Coloca uma imagem na pgina - tipos suportados JPG PNG utilizacao : Image(string file, float x, float y [, float w [, float h [, string type [, mixed link]]]]) Bom mais uma vez.. agradeo se for til.. qualquer dvida: alexandre.etf@gmail.com ! */ ?>