我有一个PHP项目,其中使用TCPDF。我有一个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。
答案 0 :(得分:0)
不好意思,我自己发现了错误。函数“ ob_end_clean();”是错误。 PHP Docs:ob_end_clean-清理(擦除)输出缓冲区并关闭输出缓冲区。这可能导致整个先前生成的HTML代码丢失。如果我删除该命令,它将起作用。