Creare file PDF con FPDF e PHP
PHP non possiede un'estensione nativa per la generazione dinamica di file PDF; uno strumento molto diffuso per supplire a questa mancanza è l'utilizzo della libreria PDFlib GmbH scritta in linguaggio C e appositamente creata da alcuni sviluppatori bavaresi per la generazione lato server e il processo di documenti PDF.
PDFlib non è però esente da svantaggi: innanzitutto non è gratuita per tutti gli utilizzi, deve infatti essere pagata una licenza se si desidera impiegarla a scopi commerciali. In secondo luogo la sua installazione può non risultare semplice in particolare per gli utenti alle prime armi che raramente devono mettere le mani sulla configurazione di un server.
Fortunatamente esiste un'alternativa libera, semplice e gratuita chiamata FPDF che funziona sulla base di classi e non richiede particolari capacità in sede di installazione. L'unico requisito necessario è la presenza tra le estensioni di PHP della libreria Zlib per consentire le operazioni di compressione.
Tra le tante features disponibili per la classe FPDF sono degne di nota:
- la possibilità di scegliere l'unità di misura, il formato della pagina e dei suoi margini;
- la possibilità di inserire intestazioni e note a piè di pagina;
- il supporto per il cambio di pagina automatico;
- il ritorno a capo automatico e la giustificazione del testo;
- il supporto per diffusi formati di immagine come JPEG e PNG;
- la gestione dei colori;
- la gestione dei collegamenti ipertestuali;
- il supporto per codifica, per TrueType e per Type1;
- la possibilità di effettuare compressioni delle pagine.
require('fpdf.php');
A questo punto saremo pronti per generare le nostre pagine PDF al volo sfruttando poche righe di codice dinamico.
Di seguito presenteremo un esempio basilare per la creazione di un documento PDF tramite l'utilizzzo della classe in argomento:
<?php
require('fpdf.php');
$pdf =new FPDF();
$pdf -> AddPage();
$pdf -> SetFont('Arial', 'B', 16 );
$pdf -> Cell(40, 10, 'Pdf document' );
$pdf -> Output();
?>
Niente di complesso, come si nota facilmente si tratta di un semplice documento salvabile con estensione ".pdf" per il quale, richiamando i metodi della classe FPDF, abbiamo indicato il tipo di carattere e la sua grandezza (metodo SetFont()) e il testo da inserire (metodo Cell()).
Di default le pagine generate dalla classe sono in comune formato A4 con allineamento verticale e con unità di misura espressa in millimetri. Naturalmente sarà possibile modificare i parametri predefiniti, per far questo sarà sufficente indicarne di nuovi passandoli come argomento alla classe; ad esempio:
$pdf=new FPDF('L','cm','A3');
Dove "L" indica il formato con allineamento orrizzontale e "cm" l'unità di misura espressa in centimetri.
Dedicheremo un'ultima annotazione al metodo finale: output(), grazie ad esso il documento viene creato e spedito al browser, da quel momento in poi il processo di elaborazione potrà considerarsi concluso e sarà possibile salvare la pagina con estensione ".pdf".







