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 ();
?>