Bonjour,
Je suis en train de me servir du celebre script de Xavier Nicolay pour générer une facture à partir de ma BD MySQL.
Le problème c'est que mon "$pdf->Output();" génère une erreur que je me comprends pas vraiment :
'Some data HAS already been output, can\'t send PDF file'.
C'est une erreur venant de le classe FPDF du fpdf.php. J'avoue que je ne comprend où je dois toucher.
Votre sécours me sera surément utile. Merci d'avance.
Voici le code :
<?php
// (c) Xavier Nicolay
// Exemple de génération de devis/facture PDF
define('FPDF_FONTPATH','font/');
require('invoice.php');
include ("../_connexion.php");
$pdf = new INVOICE( 'P', 'mm', 'A4' );
$pdf->Open();
$query1 = "SELECT * FROM invoice";
$result1 = mysql_query($query1) or die("Query failed");
$i = 0;
while ($i < mysql_num_fields($result1)) {
$pdf->AddPage();
while ($line = mysql_fetch_assoc($result1)) {
$date = $line['invoiceIssuedDate'] ;
$codecli = $line['guestId'] ;
$numfact = $line['invoiceNumber'] ;
$adrfact = $line['guestAddress'] ;
$modreglt = $line['paymentMode'] ;
$datePaiement = $line['invoicePaidDate'] ;
$ech = $line['invoiceDueDate'] ;
$remise = $line['discount'] ;
$numTVA = $line['vatNum'] ;
$mtTVA = $line['vatAmount'] ;
$reference = $line['reference'] ;
$coderef = $line['refCode'] ;
$pdf->addSociete( "XXXXXX",
"Avenue blabla\n" .
"xxxxxxxxxxxxxx\n".
"xxxxxxxxxxxxxx\n"
);
$pdf->fact_dev( "Devis ", "TEMPO" );
$pdf->temporaire( "Devis temporaire" );
$pdf->addDate( $date);
$pdf->addClient($codecli);
$pdf->addPageNumber("1");
$pdf->addClientAdresse($adrfact);
$pdf->addReglement($modreglt);
$pdf->addEcheance($ech);
$pdf->addNumTVA($numTVA);
$pdf->addReference($reference);
$cols=array( "REFERENCE" => 23,
"DESIGNATION" => 78,
"QUANTITE" => 22,
"P.U. HT" => 26,
"MONTANT H.T." => 30,
"TVA" => 11 );
$pdf->addCols( $cols);
$cols=array( "REFERENCE" => "L",
"DESIGNATION" => "L",
"QUANTITE" => "C",
"P.U. HT" => "R",
"MONTANT H.T." => "R",
"TVA" => "C" );
$pdf->addLineFormat( $cols);
$pdf->addLineFormat($cols);
$y = 109;
$line = array( "REFERENCE" => "REF1",
"DESIGNATION" => "Carte Mère MSI 6378\n" .
"Processeur AMD 1Ghz\n" .
"128Mo SDRAM, 30 Go Disque, CD-ROM, Floppy, Carte vidéo",
"QUANTITE" => "1",
"P.U. HT" => "600.00",
"MONTANT H.T." => "600.00",
"TVA" => "1" );
$size = $pdf->addLine( $y, $line );
$y += $size + 2;
$line = array( "REFERENCE" => "REF2",
"DESIGNATION" => "Câble RS232",
"QUANTITE" => "1",
"P.U. HT" => "10.00",
"MONTANT H.T." => "60.00",
"TVA" => "1" );
$size = $pdf->addLine( $y, $line );
$y += $size + 2;
$pdf->addCadreTVAs();
$tot_prods = array( array ( "px_unit" => 600, "qte" => 1, "tva" => 1 ),
array ( "px_unit" => 10, "qte" => 1, "tva" => 1 ));
$tab_tva = array( "1" => 19.6,
"2" => 5.5);
$params = array( "RemiseGlobale" => 1,
"remise_tva" => 1, // {la remise s'applique sur ce code TVA}
"remise" => 0, // {montant de la remise}
"remise_percent" => 10, // {pourcentage de remise sur ce montant de TVA}
"FraisPort" => 1,
"portTTC" => 10, // montant des frais de ports TTC
// par defaut la TVA = 19.6 %
"portHT" => 0, // montant des frais de ports HT
"portTVA" => 19.6, // valeur de la TVA a appliquer sur le montant HT
"AccompteExige" => 1,
"accompte" => 0, // montant de l'acompte (TTC)
"accompte_percent" => 15, // pourcentage d'acompte (TTC)
"Remarque" => "Avec un acompte, svp..." );
$pdf->addTVAs( $params, $tab_tva, $tot_prods);
$pdf->addCadreEurosFrancs();
$pdf->Output();
}
$i++;
}
?>
Configuration: Windows XP
Internet Explorer 7.0