我有拉从数据库中的一些信息,并创建一些相对简单的动态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();
我想我也许能够使用的东西ILKE,为了达到目的,但勿庸置疑它没有工作。
所以,我怎么可以读取获取输出到浏览器,如果你要直接加载该文件,进入一个字符串与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->流应该工作。
怎么样用简单的HTTP请求来获取HTML文件,并比在$ DOMPDF对象加载它:
<?php
//...
$dompdf->load_html(file_get_contents("http://yoursite.net/report.php?id=1249642977"));
//...
?>
我不明白为什么你在这里需要输出缓冲..
BlackAura是在正确的轨道上。 的file_get_contents,正如其他人暗示不会沿着GET瓦尔(或POST)通过。 但是你可以使用卷曲做到这一点。 下面的代码应工作:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://YOURFULLURL.COM/report.php?id=1249642977');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$my_html = curl_exec($ch);
curl_close($ch);
$dompdf = new DOMPDF();
$dompdf->load_html($my_html);
$dompdf->render();
$dompdf->stream("sample.pdf", array('Attachment'=>'0'));
希望帮助。
-Kevin
简单地使用PHP file_get_contents
这样:
$page_html = file_get_contents("page.php?id=number");
然后$ page_html传递到DOMPDF。
希望这可以帮助 :)
我最终决定改变产生的HTML,使之成为返回一个HTML字符串的函数PHP页面。 这更是一个解决办法比的解决方案。
未来的Google这一页应该知道DOMPDF允许你使用一个网页上运行PHP联:
<script type="text/php">
//some PHP here
</script>
BlackAura有正确的想法。 你将产生的PDF输出缓冲区,然后丢弃一切。