【发布时间】: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 代码都被删除了。都不会再输出了。