Come creare una tabella in un file PDF con PHP e FPDF

Nel tutorial “Come creare un file PDF in PHP” abbiamo visto come generare un semplice documento PDF usando la libreria gratuita FPDF. Oggi, faremo un passo in avanti e ti mostrerò come creare una tabella in un file PDF in PHP, usando sempre FPDF.

Iniziamo ricopiando parzialmente il codice scritto nel tutorial precedente:

<?php
require('lib/fpdf.php');
$pdf = new FPDF();
$pdf->SetFont('Arial','',14);
$pdf->AddPage();

Naturalmente, per creare la tabella, dovrai importare i dati da una fonte. La fonte può essere un Data Base, un file excell o csv, un array ecc…

Per comodità, in questa guida, useremo un array che chiameremo $header che contiene il nome assegnato alle colonne e una matrice (n x m) che chiameremo $data contenente i dati veri e propri.

Se devi importare dei dati da un file CSV ti consiglio di leggere la guida Come leggere un file CSV in PHP. Ti insegna ad importare facilmente ed in poche righe di codice dati da qualsiasi file CSV.

Creiamo subito le nostre variabili con i dati da inserire nella tabella:


$header = array('id','nome','cognome');

$data = array(
            array(1,'Mario','Rossi'),
            array(2,'Franco','Bianchi'),
            array(3,'Giuseppe','Verdi')
);

Adesso iniziamo a realizzare la nostra prima tabella.

Come creare una tabella base in un file PDF con PHP

Poiché una tabella è essenzialmente costituita da celle, useremo la classe Cell() per generarla.

Iniziamo a creare l’header della tabella, assegnando il nome a ciascuna colonna.

Il nome di ogni colonna lo scriviamo in grassetto e lo centriamo nella cella. Inoltre, assegniamo alle colonne la stessa larghezza.

Quindi, aggiungiamo il seguente codice:


$pdf->SetFont('','B');
foreach($header as $col){
    $pdf->Cell(40,7,$col,1,0,'C');
}
$pdf->Ln()

Il metodo Ln()  serve per passare alla riga successiva.

Adesso completiamo la tabella inserendo i dati. Ma, la prima cosa che devi fare e togliere il grassetto e ridurre le dimensioni del carattere.


$pdf->SetFont('','',12);
foreach($data as $row){
    foreach($row as $value){
        $pdf->Cell(40,6,$value,1,0);
    }
    $pdf->Ln();
}

Hai completato il codice necessario per creare la tua prima tabella in un file PDF con PHP e FPDF.

Vediamo come sarà il codice completo .


<?php 
require('lib/fpdf.php'); 
$pdf = new FPDF(); 
$pdf->AddPage();
$pdf->SetFont('Arial','',14);

$header = array('id','nome','cognome');

$data = array(
            array(1,'Mario','Rossi'),
            array(2,'Franco','Bianchi'),
            array(3,'Giuseppe','Verdi')
);

$pdf->SetFont('','B');
foreach($header as $col){
    $pdf->Cell(40,7,$col,1,0,'C');
}
$pdf->Ln();

$pdf->SetFont('','',10);
foreach($data as $row){
    foreach($row as $value){
        $pdf->Cell(40,6,$value,1,0);
    }
    $pdf->Ln();
}

$pdf->Output();

Conclusioni

Come hai visto, creare una tabella in un file PDF con PHP e FPDF è abbastanza semplice. Se vuoi, puoi migliorare la grafica della tabella modificando il colore del testo, aggiungendo un colore di sfondo o modificando i bordi.

Nel prossimo tutorial ti farò vedere come fare per migliorare la tabella e renderla più gradevole e facile da leggere.

Sperò di esserti stato utile. Ti aspetto sul blog con nuovi articoli e guide interessanti. Nel frattempo seguici sulla nostra pagina Facebook e non esitare a contattarci per qualsiasi dubbio o chiarimento.

 

Articoli correlati


Rocco Vincy

Analista/Programmatore e blogger, si occupa di sicurezza informatica e delle comunicazioni. Co-fondatore del sito/blog "BlogAmico"

Rocco Vincy ha 133 articoli e più. Guarda tutti gli articoli di Rocco Vincy

Rocco Vincy