Por Pedro Peixoto para o PPLWARE
A destruição ambiental, com que nos temos preocupado é fruto, de alguma forma, da evolução tecnológica. No entanto, também a tecnologia pode ajudar a tornar a Terra num melhor local para viver. Os documentos PDF têm assumido grande importância neste mundo actual, a tendência é para o papel cair gradualmente em desuso, assumindo o PDF o papel de sucessor. É por isso muito importante, e cada vez mais solicitado, este recurso nas nossas aplicações. Esta semana vamos aprender como gerar PDF’s em PHP, usando a classe FPDF.
Hello PPLWare
Em primeiro lugar, depois de fazer download da classe, é necessário incluí-la no nosso ficheiro.
require_once("fpdf/fpdf.php");
De seguida criamos um novo objecto. O primeiro parâmetro indica a orientação da folha (P-> Vertical, L->Horizontal), de seguida indicamos qual a unidade de medida (mm,cm,in,pt), e por fim o tamanho.
$pdf= new FPDF("P","mm","A4");
Agora que já “temos o documento PDF”, vamos adicionar a primeira página.
$pdf= AddPage();
Antes de escrever o texto é necessário seleccionar o estilo de letra a aplicar, até seleccionar-mos um novo estilo, todos os textos que fizermos output terão este estilo seleccionado. No primeiro parâmetro temos o nome da fonte, no segundo o estilo (B->Negrito, I->Itálico, U->Sublinhado, ou combinações entre eles) .
$pdf->SetFont('arial','I',10);
Agora que já temos uma página para escrever, e o estilo de texto a usar, vamos ao que interessa: escrever. Neste ponto podemos usar duas funções distintas:
- Text – Permite escrever um texto livremente numa posição (x,y) especificada.
$pdf->Text(0,5,'Hello PPLWare!');
- Cell – Esta função deve ser a preferida para escrever texto, pois é mais controlada e permite a construção organizada de um PDF ao estilo do Excel, ou seja, através de células. É uma função com 7 parâmetros possíveis:
- Largura da célula
- Altura
- O texto a digitar
- O border (0->sem border,1->com border, e a combinação de L->esquerda, T->cima, R->direita e B->baixo)
- A posição seguinte do cursor (0->direita,1->início da nova linha,2->baixo)
- Alinhamento (L->esquerda, R->direita, C->Centro)
- Preenchimento do fundo (true, false)
- URL (No caso de querer ter uma hiperligação)
Não é obrigatório especificar todos estes parâmetros.
$pdf->Cell(0,5,'Hello PPLWare!',0,0,'L');
Por fim, e para gerar o PDF chamamos a função Output. Esta função tem apenas dois parâmetros. O primeiro é o nome do ficheiro e o segundo o destino:
- I->Browser
- D->Browser forçando o download com o nome dado
- F->Guarda localmente no caminho indicado no primeiro parâmetro
- S->Retorna o documento como um string
$pdf->Output("hellopplware.pdf","I");Funções importantes
Para além das funções “básicas” vistas anteriormente, há mais algumas que considero importantes.
Para colocar uma imagem no pdf usamos a função image com 7 parâmetros possíveis:
- Localização da imagem
- Posição x
- Posição y
- Largura
- Altura
- Tipo (jpeg, png, …) , se não especificado o sistema determina o tipo através da extensão.
- URL, no cado de querer colocar um link nesta imagem.
$pdf->Image("pplware.jpg", 30,30,40,30);
Por vezes necessitamos de posicionar o cursor num determinado local do documento, para isso usamos as funções SetX, SetY ou SetXY e os valores de destino.
$pdf->SetXY("60","60");
Outro parâmetro que usamos frequentemente é a cor do texto. Podemos, então, usar a função SetTextColor. Esta função recebe três inteiros compreendidos entre 0 e 255 para defenir o Vermelho, Verde e Azul respectivamente.
$pdf->SetTextColor(60,60,60);
Scripts/Addons
O FPDF disponibiliza ainda na sua página alguns Scripts adicionais, dos quais destaco alguns que considero importantes:
- HTML2PDF – Converter código HTML em PDF.
- FPDF Tables – Tabelas em PDF’s.
- Javascript support – Inclusão de código javascript nos ficheiros PDF.
Conclusão
O FPDF permite-nos de forma rápida, fácil e dinâmica gerar PDF’s em tempo real usando PHP e todos os recursos que ele oferece. É incrível poder oferecer aos utilizadores documentos gerados na hora com base em informações particulares, tais como facturas, recibos, comprovativos, bilhetes,…, e de uma forma tão simples. Os Scripts disponíveis permitem fazer praticamente tudo o que é possível fazer em documentos PDF, e é por isso uma classe que merece, pelo menos, o seu conhecimento.