TCPDF ERROR: Some data has already been output to browser, can't send PDF file

TCPDF ERROR: Some data has already been output to browser, can't send PDF file

我正在尝试将此 'PHP' 页面转换为 'PDF' 页面,但我每次都收到此消息。虽然,一切看起来都不错。

错误:

-第一个: 注意:未定义的偏移量:0 in \html2pdf\html2pdf.class.php on line 4957

-2 结束错误: 注意:未定义的偏移量:0 in \html2pdf\html2pdf.class.php on line 4957

-3rd 错误: 警告:无法修改 header 信息 - headers 已经发送(输出开始于 \html2pdf\html2pdf。class.php:4957) 在 \html2pdf_tcpdf_5.0.002\tcpdf.php 行 6122

I separate the code of page to make it clearly.

我好累,明天就是演讲日了。请帮忙!

页眉:html2pdf 的第一部分

<?php ob_start(); ?>

2结束行:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Facture</title>
    </head>

Body部分

    <body>
        <?php
        include_once"./html2pdf/html2pdf.class.php";
        include_once"Traitement.php";
        session_start();
        $numcom="";$datecom="";$dateliv="";
        $cur=Traitement::commande($_GET['numcom'],$_SESSION['log']);
        if($cur->rowCount()<>0){
            while($row=$cur->fetch()){
                $numcom=$row[0];
                $datecom=$row[1];
                $dateliv=$row[2];
            }
        }
            $cur->closeCursor();
      ?>
            <div style='margin:0 0 0 0;text-align:left;'>
                <h3 style='margin:1% 0 0 0;display:inline-block'><span style='display:inline-block'>Client: </span><span style='display:inline-block'>".$_SESSION['log']."</span></h3>
                <h3 style='margin:1% 0 0 0'><span style='display:inline-block'>Code de commande: </span><span style='display:inline-block'>".$numcom."</span></h3>
            </div>
            <div style='margin:0 5% 0 0;text-align:left;padding:0 0 0 2%'>
                <h3 style='margin:1% 0 0 0'><span style='display:inline-block'>Date de commande: </span><span style='display:inline-block'>".$datecom."</span></h3>
                <h3 style='margin:1% 0 0 0'><span style='display:inline-block'>Date de livraison: </span><span style='display:inline-'>".$dateliv."</span></h3>
            </div>
        <table style='margin:5% 0 0 0;border:1px solid white'>
            <thead style='background:white;color:black'>
                <th align='center' style=''>Article</th>
                <th align='center' style=''>Quantité</th>
                <th align='center' style=''>Prix unitaire</th>
                <th align='center' style=''>Sous-Total</th>
            </thead>
            <tbody>
                <?php
                $cur=Traitement::achatparcommnde($_GET['numcom'],$_SESSION['log']);
                if($cur->rowCount()<>0){
                    while($row=$cur->fetch()){
                        $nom=$row[0];
                        $prixunitaire=$row[1];
                        $qte=$row[2];
                        $soustotal=$row[1]*$row[2];
                        echo"<td align='center' style=''>$nom</td>
                        <td align='center' style=''>$qte</td>
                        <td align='center' style=''>$prixunitaire Dhs</td>
                        <td align='center' style=''>$soustotal Dhs</td>";
                    }
                }
                    ?>
            </tbody>
            </table>
            <h2 id='foot' align='center' style=''>Merci pour votre achat</h2>
    </body>
</html>

页面底部:html2pdf的第二部分

<?php
$contents=ob_get_clean();
    $pdf=new HTML2PDF("P","A4","fr");
    $pdf->writeHTML($contents);
    $pdf->OutPut("facture.pdf");
?>

您的“注意:bla bla”错误是给您带来麻烦的原因,因为它们是输出的。事实上,它们不是错误,只是可以忽略的警告。

禁用 PHP 通知错误:

error_reporting(E_ALL & ~E_NOTICE);

在 PHP 的开头( html2pdf 模块的 require() 或 include() 之前)。

谢谢,错误在 html 部分,如果您仔细查看 table,您会得到一个 'tr' 标记,不要添加到。