1

Salut à tous,
Je suis un peu novice avec HTML2PDF et j'ai cette erreur :
TCPDF ERROR: Some data has already been output, can't send PDF file

J'ai cherché les autres personnes ayant eu le même problème, mais je ne vois pas où moi j'aurais une erreur similaire ? Pouvez-vous m'aider ?

Voila le code de ma page, qui en appelle une autre
<?php


/*
Entête de la page
*/
// Inclusion des élements nécessaires
include("includes/config.php");
include("includes/functions.php");

// Verification de la connexion
user_connect();

// Connexion à la base de données
dbconnect($db_host,$db_user,$db_pass,$db_name);

// Définition et données récupérées
$type=$_GET["type"];
$action=$_GET["action"];
$contract_id=$_GET["c"];
$payment_id=$_GET["p"];


echo $contract_id;

// Redirection

if ($action == 'export')
{
echo'Export en cours';
// get the HTML
ob_start();
include(dirname(__FILE__).'/docs/'.$type.'.php');
$content = ob_get_clean();

// convert in PDF
require_once(dirname(__FILE__).'/includes/class/html2pdf.class.php');
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
// $html2pdf->setModeDebug();
$html2pdf->setDefaultFont('Arial');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('contrat.pdf');
}
catch(HTML2PDF_exception $e)
{
echo $e;
exit;
}

}
elseif ($action == 'print')
{
include('docs/'.$type.'.php');
}
else
{
echo'Erreur lors de votre requête';
}

?>


Ma 2e page :
<?php
/*
Requêtes
*/


// Requête des contrats
$reqcontracts = mysql_query("
SELECT *
FROM contracts
WHERE ID_contracts='" .$contract_id. "'");

// Si une erreur survient
if(!$reqcontracts)
{
$msg_error = 'Erreur d\'accès à la base de données lors de la lecture du contrat '.mysql_error();
view_msg($msg_success, $msg_success_noredir, $msg_error);
exit;
}

echo'OK';



/*
Partie affichée
*/

// Affichage du message selon resultat
view_msg($msg_success, $msg_success_noredir, $msg_error);

// Redirection en cas d'annulation
redirect_if_cancel();


// Affichage des contrats
while ($datacontracts = mysql_fetch_array($reqcontracts))
{

echo'
<style type="text/Css">
<!--
body
{
color : #999999;
background : #FFFFFF;
font-family: Arial,
sans-serif;
font-size : 12px;
padding : 0px;
margin : 0px;
}
-->
</style>


<page>
<table width="700px" border="0" cellspacing="0" cellpadding="5">
<tr>
<td align="center">
<table width="700px" border="0" cellspacing="0" cellpadding="0" style="box-shadow: 0px 8px 8px #CCCCCC;">
<tr>
<td align="left" height="85" bgcolor="#F1F1F1" style="border: 1px solid #CCCCCC; border-bottom: 20px solid #6FB333;">
</td>
</tr>
<tr>
<td align="left" style="border-left: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC; padding:7px; padding-top: 10px; padding-bottom: 30px; ">
<h3 style="color: #6FB333;font-size: 14px;padding: 10px 0px 5px 0px;font-weight: bold;">ID :'.$datacontracts['ID_contracts'].'Loyer '.$datacontracts['payterm_contracts'].' : '.$datacontracts['rent_contracts'].'</h3>
'.$email_msg.'
</td>
</tr>
<tr>
<td height="30" bgcolor="#333333" style="border-top: 3px solid #6FB333;margin: 0px; padding:0px;">

</td>
</tr>
</table>
</td>
</tr>
</table>
</page>';
}







//On libère la mémoire mobilisée pour cette requête dans sql




mysql_free_result ($reqcontracts);


//On ferme sql
mysql_close ();

?>

2

Il me semble que cette erreur a déjà été abordée un grand nombre de fois sur le forum. Ce n'est pas un bug de la bibliothèque, juste le comportement habituel de PHP. Tu trouveras la réponse en cherchant les sujets précédents sur ce même forum.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)