我有一个使用glob函数和file_get_contents的页面有几个html文件并将它们存储在缓冲区中。
所以我想将这个缓冲区ob_get_contents()转换为pdf文件。
最好的方法是什么?如何?
提前致谢。
答案 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文件,那么它们就是那么多可以达到你想要的解决方案。我想你应该看看以下
$html = ob_get_contents();
ob_end_clean();
$pdf = new HTML2FPDF();
$pdf->SetTopMargin(1);
$pdf->AddPage();
$pdf->WriteHTML($html);
$pdf->Output('test.pdf','D');