2013-02-27 154 views
0

我有一个CakePHP的脚本,打印,象这样的条件内容大块的报告:如何让dompdf忽略条件内容?

<?php if(in_array('Medical', $filter) || in_array('All', $filter)){ ?> 
<div class="title_col_cell" align="left">Medical</div> 
<div class="title_col_cell1" align="right">Visits</div> 
<div class="title_col_cell1" align="right">Unduplicated Clients</div> 
<div class="title_col_cell1" align="right">Prescription Assistance</div> 
<div class="title_col_cell1" align="right">Vaccinations</div> 
<?php } ?> 

当我创建这个报告的打印预览,DOMPDF似乎呈现有条件的内容为空白空间。有没有办法让dompdf不要渲染那些东西?我有很多可能的组合来为每个组合分别查看。我怎样才能以不同的方式编码?

谢谢!

+0

您是否有示例HTML文档?在将它传递给dompdf之前解析PHP吗?如果内容被排除在条件之外,我无法看到内容将作为文档的一部分进行处理的原因。 – BrianS 2013-02-27 16:05:13

回答

0

如果您查看文档,屏幕上显示的任何内容都会转到dompdf生成的文档。如果你在html文件中看不到它 - 那么它将被隐藏。在您将文档传递给标准浏览器中的dompdf之前查看您的文档,以查看其中的内容。

0

DOMPDF pdf将只为已发送给它的代码创建pdf。最好是将整个代码放在一个字符串中,然后将其显示在屏幕上,以便在发送给dompdf对象之前检查所有必需的html是否存在。例如:

$str="<div class="title_col_cell" align="left">Medical</div> 
     <div class="title_col_cell1" align="right">Visits</div> 
     <div class="title_col_cell1" align="right">Unduplicated Clients</div> 
     <div class="title_col_cell1" align="right">Prescription Assistance</div> 
     <div class="title_col_cell1" align="right">Vaccinations</div>"; 

$dompdf = new DOMPDF(); 
$dompdf->load_html($str); 
$dompdf->set_paper('letter', 'landscape'); 
$dompdf->render(); 
$dompdf->stream("dompdf_out.pdf", array("Attachment" => false)); 

exit(0);