0

次のような条件付きコンテンツの大きなブロックを含むレポートを出力する CakePHP スクリプトがあります。

<?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を取得する方法はありますか? それぞれについて個別のビューを作成するには、可能な組み合わせが多すぎます。これを別の方法でコーディングするにはどうすればよいですか?

ありがとう!

4

2 に答える 2

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);
于 2013-03-01T05:08:15.630 に答える
0

ドキュメントを表示した場合に画面に表示されるものはすべて、dompdfで生成されたドキュメントに到達します。HTMLドキュメントで表示できない場合は、非表示になります。標準のブラウザでdompdfに渡す直前にドキュメントを表示して、そこで何が行われているのかを確認します。

于 2013-02-28T01:55:18.383 に答える