ciao a tutti stamattina mi trovo a dove creare al volo una pagina in PDF.

Sto usando come al solito la Classe Free " FPDF "

ora ho un piccolo problema di sorgente dati:

tramite query creo a video una tabella contenente una fattura con sopra il logo della ditta.

ora tramite il tasto stampa devo generare il PDF.

Ho preso questo esempio che ho trovato in giro.

Codice PHP:
ob_start();
include(
"fpdf153/fpdf.php");

class 
PDF extends FPDF
{
//Load data
function LoadData($file)
{
    
//Read file lines
    
$lines=file($file);
    
$data=array();
    foreach(
$lines as $line)
        
$data[]=explode(';',chop($line));
    return 
$data;
}

//Simple table
function BasicTable($header,$data)
{
    
//Header
    
foreach($header as $col)
        
$this->Cell(40,7,$col,1);
    
$this->Ln();
    
//Data
    
foreach($data as $row)
    {
        foreach(
$row as $col)
            
$this->Cell(40,6,$col,1);
        
$this->Ln();
    }
}

//Better table
function ImprovedTable($header,$data)
{
    
//Column widths
    
$w=array(40,35,40,45);
    
//Header
    
for($i=0;$i<count($header);$i++)
        
$this->Cell($w[$i],7,$header[$i],1,0,'C');
    
$this->Ln();
    
//Data
    
foreach($data as $row)
    {
        
$this->Cell($w[0],6,$row[0],'LR');
        
$this->Cell($w[1],6,$row[1],'LR');
        
$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R');
        
$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');
        
$this->Ln();
    }
    
//Closure line
    
$this->Cell(array_sum($w),0,'','T');
}

//Colored table
function FancyTable($header,$data)
{
    
//Colors, line width and bold font
    
$this->SetFillColor(255,0,0);
    
$this->SetTextColor(255);
    
$this->SetDrawColor(128,0,0);
    
$this->SetLineWidth(.3);
    
$this->SetFont('','B');
    
//Header
    
$w=array(40,35,40,45);
    for(
$i=0;$i<count($header);$i++)
        
$this->Cell($w[$i],7,$header[$i],1,0,'C',1);
    
$this->Ln();
    
//Color and font restoration
    
$this->SetFillColor(224,235,255);
    
$this->SetTextColor(0);
    
$this->SetFont('');
    
//Data
    
$fill=0;
    foreach(
$data as $row)
    {
        
$this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
        
$this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
        
$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
        
$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
        
$this->Ln();
        
$fill=!$fill;
    }
    
$this->Cell(array_sum($w),0,'','T');
}
}

$pdf=new PDF();
//Column titles
$header=array('Country','Capital','Area (sq km)','Pop. (thousands)');
//Data loading
$data=$pdf->LoadData('countries.txt');  //DEVO SOSTITUIRE QUESTA FONTE DATI  
$pdf->SetFont('Arial','',14);
$pdf->AddPage();
$pdf->BasicTable($header,$data);
$pdf->AddPage();
$pdf->ImprovedTable($header,$data);
$pdf->AddPage();
$pdf->FancyTable($header,$data);
$pdf->Output();
?> 
Questo script genera un PDF con 3 pagine la prima c'è solo una tabella grezza , la seconda una tabella solo con le linee esterne e la terza una tabella dove si alternano dei colori per distinguere le righe. VEDI

Io devo sostituire la fonte countries.txt con la mia pagina.
Non conosco la struttura del file countries.txt.