输出缓冲区+ Pdf - PHP

时间:2012-09-30 16:05:44

标签: php pdf stdout

我有一个使用glob函数和file_get_contents的页面有几个html文件并将它们存储在缓冲区中。

所以我想将这个缓冲区ob_get_contents()转换为pdf文件。

最好的方法是什么?如何?

提前致谢。

3 个答案:

答案 0 :(得分:2)

要从HTML和CSS创建PDF文件,请查看DOMpdf

虽然这个解决方案不支持全范围的HTML和CSS,但它的渲染有时会很痛苦,但它有一个优点:它不需要安装任何特殊的二进制文件(如wkhtmltopdf)。它应该在您的平均共享PHP托管上运行。

用法示例:

<?php
require_once("dompdf_config.inc.php");

$html =
  '<html><body>'.
  '<p>Put your html here, or generate it with your favourite '.
  'templating system.</p>'.
  '</body></html>';

$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("sample.pdf");

?>

答案 1 :(得分:1)

为什么要使用outputbuffer?你可以使用file_get_contents在变量中使用它,并且可以使用变量中的数据创建pdf。当使用ob_get_contents时它只返回outputbuffer,你通常用结果保存到变量中......

顺便说一句。你想将html转换成pdf吗?如果是,请查看wkhtmltopdf

答案 2 :(得分:1)

如果ob_get_contents包含html文件,那么它们就是那么多可以达到你想要的解决方案。我想你应该看看以下

使用Simple HTML 2 PDF using PHP

的示例
$html = ob_get_contents();
ob_end_clean();
$pdf = new HTML2FPDF();
$pdf->SetTopMargin(1);
$pdf->AddPage();
$pdf->WriteHTML($html);
$pdf->Output('test.pdf','D');