1

Salut à tous, je génère bien mes PDFs avec HTML2PDF à l'exception qu'il ne s'affiche pas sur mon navigateur, ce qui m'oblige à les télécharger sur mon serveur pour voir leurs rendus.
Pour info, voilà ce qui m'affiche quand je veux l'afficher sur mes navigateurs (Chrome 32 et FireFox 21) : "TCPDF ERROR: Some data has already been output, can't send PDF file"
Merci d'avance pour votre aide.
Toujours à la recherche du savoir

2

tu utilises mal la librairie,

html2pdf va envoyer les header "pdf" au navigateur puis les data du fichier,
ton script lui ne doit rien envoyer du tout, ni header ni même un espace, rien

ici donc ton script envois des données au navigateur, html2pdf s'en rend compte et te le signale

éventuellement regarde du coté des fonctions php ob_start et ob_get_clean
et la le mec il le pécho par le bras et il lui dit '

3

robinHood, je te remercie pour ta réponse ma je vois toujours pas comment y remédié. Si tu peux me donner la démarche. { die ($e); } ?> </body> </html>Pour plus de clarté voilà mon code <?php require ('Connections/BD_GESTOCI.php'); require ('html2pdf/html2pdf.class.php'); if(isset($_GET['NumBEP'])){ $num = $_GET['NumBEP']; // Pour savoir si le numéro bep envoyé existe $Numbep = $bd_gestoci->query(' SELECT NumBEP FROM bep '); $existe = false; while ($ebep = $Numbep->fetch()) if ($num == $ebep['NumBEP']){ $existe = true; break; } if ($existe){ $sql = ' SELECT NumBEP as BEP, bep.NumBon AS BON, IndMarq AS MARQUETEUR, DateBon as DATE, bon.CdeReg as REGIME, ct.ImCit as CITERNE, ct.ImTract as TRACTEUR, CapCit as CAPACITE, LibelleProd as PRODUIT, bac.CdeBac as BAC, NumCuve as CUVE, CapCuve as VOLUME, VilleStat as VILLE, NomStat as STATION, ch.NomChauf as CHAUFFEUR FROM bep INNER JOIN bon ON bep.NumBon = bon.NumBon INNER JOIN cuve ON cuve.NumBon = bon.NumBon INNER JOIN bac ON bac.CdeBac = cuve.CdeBac INNER JOIN produit p ON p.CdeProd = bac.CdeProd INNER JOIN regime r ON r.CdeReg = bon.CdeReg INNER JOIN certificat ct ON bon.CdeCert = ct.CdeCert INNER JOIN citerne c ON c.ImCit = ct.ImCit INNER JOIN tracteur tc ON tc.ImTract = ct.ImTract INNER JOIN chauffeur ch ON ch.IdChauf = tc.IdChauf INNER JOIN marqueteur m ON m.CdeMarq = bon.CdeMarq INNER JOIN station s ON s.CdeStat = bon.CdeStat WHERE NumBEP = :numbep '; $q = array('numbep'=>$num); $BEP = $bd_gestoci->prepare($sql); $BEP->execute($q); } else { header ('location:liste_enl.php'); } } ?> <!doctype html> <html> <head> <meta charset="utf-8"/> <title>BEP</title> </head> <body> <?php ob_start(); ?> <style> strong { text-decoration:underline; margin-left: 20px; } .table{ border: solid 1px black; border-collapse: collapse; /* Pour que les bordures du tableau se collent */ font-size:16px; font-family:helvetica; display:inline-block; width:100%; margin:auto; margin-bottom: 20px; margin-top: 20px; } .table th{ font-size:18px; } .table th, .table td { border: solid 1px black; padding:2px; } .info{ margin-top: 10px; margin-bottom: 10px; } h4 { margin-bottom: 10px; } </style> <page backtop="60mm" backleft="10mm" backright="10mm" backimg="Images/Logo_GESTOCI.png" backimgx="8mm" backimgy="8mm" backimgw="100px"> <page_header> <!--<img src="Images/Logo_GESTOCI.png" style="float:left" alt="Logo GESTOCI" title="Logo GESTOCI"/>--> <span style="float:right;text-align:center"><h4>SOCI&Eacute;T&Eacute; DE GESTION DES STOCKS P&Eacute;TROLIERS DE CÔTE D'IVOIRE</h4>Si&egrave;ge social : Boulevard de VRIDI<br>15 BP 89 Abidjan 15 - T&eacute;l. : 21 75 98 00 <br>Fax N&deg; 21.27.17.82 - R.C N&deg; CI-ABJ-05-R-4116 <br>CC N&deg; : 8800097-E - R&eacute;gime Imp. : R&eacute;el - Centre Imp. : DGI Plateau </span> </page_header> <page_footer> <!-- PIED DE PAGE: Copyright L@SS M@O, The dictator --> </page_footer> <table class="table" style="width:100%;margin-bottom:20px"> <tr> <th colspan="2" align="center"> BULLETIN D'ENLEVEMENT DE PRODUITS </th> </tr> <tr> <td style="width:30%;text-align:left">Edite le:&nbsp;&nbsp;&nbsp; <?php echo date('d').'/'.date('m').'/'.date('Y'); ?></td> <td style="width:70%;text-align:right">ET - OC0</td> </tr> </table><br/><br/> <?php $unbep = $BEP->fetch(PDO::FETCH_OBJ); ?> <div class="info" style="width:100%"> <span>Dépôt : <strong>YAMOUSSOUKRO</strong></span> <span style="margin-left:40px">DESTINATION : <span style="margin-left: 20px"><?php echo $unbep->VILLE; ?></span></span> <span style="margin-left:20px">STATION : <span style="margin-left: 20px"><?php echo $unbep->STATION; ?></span></span> </div> <div class="info" style="width:100%"> <span>N°BEP : <strong><?php echo $unbep->BEP; ?></strong></span> <span style="margin-left:120px">EXERCICE : <strong><?php echo date('Y'); ?></strong></span> <span style="margin-left:80px">DATE : <strong><?php echo date('d/m/Y'); ?></strong></span> </div> <div class="info" style="width:100%"> <span>R&Eacute;GIME DOUANIER : <strong><?php echo $unbep->REGIME; ?></strong></span> <span style="margin-left:60px">N°CITERNE : <strong><?php echo $unbep->CITERNE; ?></strong></span> <span style="margin-left:40px">N°TRACTEUR : <strong><?php echo $unbep->TRACTEUR; ?></strong></span> </div> <div class="info" style="width:100%"> <span style="margin-left:250px">CAPACITE : <strong><?php echo $unbep->CAPACITE; ?></strong></span> </div> <table class="table" style="width:100%; text-align:center"> <thead> <tr style="border:solid 1px black; "> <th style="width: 30%">MARQUETEUR</th> <th style="width: 12%">N_BON</th> <th style="width: 18%">DATEBON</th> <th style="width: 30%">PRODUIT</th> <th style="width: 10%">BAC</th> </tr> </thead> <tbody> <?php $BEP->closeCursor(); $BEP->execute($q); while ($bep = $BEP->fetch(PDO::FETCH_OBJ)) { ?> <tr> <td style="width: 30%"><?php echo $bep->MARQUETEUR; ?></td> <td style="width: 12%"><?php echo $bep->BON; ?></td> <td style="width: 18%"><?php echo $bep->DATE; ?></td> <td style="width: 30%"><?php echo $bep->PRODUIT; ?></td> <td style="width: 10%"><?php echo $bep->BAC; ?></td> </tr> <?php } ?> </tbody> </table> <br/><br/> <h4>OBSERVATION</h4> <table class="table" style="width: 100%; text-align:center; vertical-align:auto"> <tr> <th style="width: 40%">GUICHET</th> <th style="width: 30%">CHAUFFEUR</th> <th style="width: 30%">DOUANE</th> </tr> <tr> <td style="width: 40%">&nbsp;</td> <td style="width: 30%"><?php echo $unbep->CHAUFFEUR; ?><br/><br/><br/><br/><br/><br/><br/><br/><br/></td> <td style="width: 30%">&nbsp;</td> </tr> </table><br/><br/><br/><br/><br/> <h4>COMPTABILIT&Eacute;</h4> </page> <?php $content = ob_get_clean(); try { $pdf = new HTML2PDF('P','A4','fr'); $pdf->pdf->SetDisplayMode('fullpage'); $pdf->writeHTML($content); $pdf->Output('BEP.pdf','F'); } catch (HTML2PDF_exception $e)
Toujours à la recherche du savoir

4

ca c'est en dehors de php et des ob_* :?> <!doctype html> <html> <head> <meta charset="utf-8"/> <title>BEP</title> </head> <body> <?php ... ?> </body> </html>
et la le mec il le pécho par le bras et il lui dit '