Corsi on-line

FPDI: utilizzare PDF come template per FPDF

FPDI è una libreria che consente di importare pagine da un documento PDF preesistente e di utilizzarle come template per FPDF, la classe PHP che permette di generare files PDF direttamente tramite il noto linguaggio per lo sviluppo Server Side, senza utilizzare la liberia PDFlib e senza la necessità di alcuna estensione addizionale fatta eccezione di zlib per attivare la compressione e GD per il supporto al formato GIF.

fpdiOpzionalmente è possibile adottare FPDI anche in associazione con TCPDF, una soluzione FLOSS (Free/Libre/Open Source Software) che offre anche il supporto nativo per immagini JPEG, PNG e SVG; il funzionamento della libreria è in ogni caso molto semplice, essa non fa altro che aprire un documento, inserire una pagina all’interno di un template e utilizzarla come una qualunque immagine.

L’esempio seguente mostra come sia possibile importare un documento PDF e includere del testo all’interno di esso:

<?php
// inclusione delle librerie necessarie
require_once('fpdf.php');
require_once('fpdi.php');
// istanza dell'oggetto di classe in FPDI
$pdf = new FPDI();
// inserimento di una pagina
$pdf->AddPage();
// documento PDF sorgente
$pdf->setSourceFile("file.pdf");
// importazione della prima pagina del documento
$tplIdx = $pdf->importPage(1);
// utilizzo del template al punto 10,10 con larghezza pari a 100 mm
$pdf->useTemplate($tplIdx, 10, 10, 100);
// scelta del font da utilizzare e scrittura del testo
$pdf->SetFont('Helvetica');
$pdf->SetTextColor(255, 0, 0);
$pdf->SetXY(30, 30);
$pdf->Write(0, 'Blah, blah, blah');
// Generazione dell'output
$pdf->Output();

Vi sono numerosi vantaggi nell’utilizzo di template in sostituzione dei documenti esterni tramite FPDF, questo perché i dati contenuti nel template verranno inclusi nel PDF una volta sola, vi sarà un minor consumo di memoria, gli output saranno generati in un tempo più breve, si otterranno documenti PDF più “leggeri” dal punto di vista dello spazio occupato e sarà possibile utilizzare ricorsivamente i template per altri template.

Via FPDI

Post correlati
  • leonardo

    Bella questa libreria FPDI , ma è possibile scrivere all’interno dei campi di un form contenuto nel file PDF usato come template ?

I più letti del mese
Tematiche