1

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

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

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

提前致谢。

4

3 回答 3

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");

?>
于 2012-09-30T16:55:18.290 回答
1

如果ob_get_contents包含 html 文件,那么它们有很多解决方案可以实现您想要的。我认为你应该看看以下

使用 PHP 的简单 HTML 2 PDF示例

$html = ob_get_contents();
ob_end_clean();
$pdf = new HTML2FPDF();
$pdf->SetTopMargin(1);
$pdf->AddPage();
$pdf->WriteHTML($html);
$pdf->Output('test.pdf','D');
于 2012-09-30T16:51:44.580 回答
1

为什么要为此使用输出缓冲区?您可以在变量中使用它,file_get_contents并且可以使用变量中的数据简单地创建您的 pdf。当使用ob_get_contents它所做的只是返回输出缓冲区并且您通常对结果执行的操作是将结果保存到变量中......

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

于 2012-09-30T16:23:23.530 回答