【问题标题】:TCPDF destroyed HTML (blank page)TCPDF 破坏的 HTML(空白页)
【发布时间】:2019-03-15 11:16:27
【问题描述】:

我有一个使用 TCPDF 的 PHP 项目。我有一个 PHP 文件,它使用引导程序创建了一个 HTML 主题。在这个文件中,我包含了我的 pdfGeneration.php。看起来是这样的:

require_once('tcpdf/tcpdf.php');
$pdfAuthor = "Test";
$pdfName = "Test.pdf";
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor($pdfAuthor);
$pdf->SetTitle($pdfName);
$pdf->SetSubject($pdfName);
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetFont('dejavusans', '', 10);
$pdf->AddPage();

$htmlContent = 'Test';
$pdf->writeHTML($htmlContent, true, false, true, false, '');
ob_end_clean();

$outputFile = 'myServerPathHere';
$pdf->Output($outputFile, 'F');

echo '<span>PDF Creation finished. <a href="' . $outputFilePath . pdfName'" target='blank'>You can download the file here</a></span>';

如果我不包含这个 pdfGeneration 一切正常。但是当我包含它时,我只得到了一个空白的白色站点,其中包含该跨度。位于包含 pdfGeneration 的文件中的其余 HTML 代码完全丢失。我找不到错误?!

我的目标是生成 pdf 的站点,在最好的情况下,pdf 直接在新选项卡中打开。我没有找到解决方案,所以我通过链接解决了它。但我的第一个问题是缺少 HTML。

【问题讨论】:

  • 我猜第二行缺少的" 是错字?
  • 是的!但我想经过两天的搜索,我终于找到了错误。它是 ob_end_clean();。我添加它是因为 tcpdf 在另一种打印模式下(用于直接显示)否则会引发错误。问题是缓冲区中的所有 HTML 代码都被删除了。都不会再输出了。

标签: php tcpdf


【解决方案1】:

对不起,我自己发现了错误。函数“ob_end_clean();”是错误。 PHP 文档:ob_end_clean - 清理(擦除)输出缓冲区并关闭输出缓冲。这可能会导致整个先前生成的 HTML 代码丢失。如果我删除该命令,它会起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 2020-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    相关资源
    最近更新 更多