我有一个文件可以从数据库中提取一些信息并创建一些相对简单的动态 HTML。
然后 DOMPDF 可以使用该文件将其转换为 PDF 文档。 DOMDPF 使用 GET 变量来实现基本实现。
ob_start();
include_once("report.php?id=1249642977");
require_once("dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html(ob_get_contents());
$dompdf->render();
$dompdf->stream("sample.pdf", array('Attachment'=>'0'));
ob_end_clean();
我想我也许可以使用类似的东西来实现目标,但不出所料,它没有奏效。
那么,如果您要将文件直接加载到用于 DOMPDF 类的字符串中,我该如何读取输出到浏览器的 HTML?
最佳答案
两个问题。
首先,您不能使用 include_once 调用这样的 PHP 页面 - 查询字符串将被忽略。您必须以其他方式将 id 提供给 report.php。
其次,您正确地缓冲了输出。但是,您将当前输出缓冲区传递给 DOMPDF,告诉它生成一个 PDF 到输出缓冲区,然后丢弃输出缓冲区。你可能想要这样的东西:
$dompdf = new DOMPDF();
$dompdf->load_html(ob_get_clean());
$dompdf->render();
$dompdf->stream("sample.pdf", array('Attachment'=>'0'));
这将获取当前输出缓冲区,丢弃它,并禁用输出缓冲。然后 $dompdf->stream 应该可以工作了。
关于PHP - 将动态生成(并回显)的 HTML 读入字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1245438/