2016-06-02 63 views
0

現在、私は自分のPDFコンテンツをこれでループしたい、現在私はPDFを作成するためにDOMPDFを使用しています。 PDFコンテンツをループしている間は、私はPDFコンテンツを一切持っていませんでした。ループを削除すると、私はpdfを取得しています。実際には、私は5ページを含むPDFが欲しいです。DOMPDFで複数のPDFを作成するときにループする

誰でも手伝ってもらえますか?前もって感謝します。

<?php 
include('config/config.php'); 
require_once('dompdf_config.inc.php'); 
error_reporting(0); 
for ($i = 0; $i <= 5; $i++) { 
    //here is my content to loop 
    $pdf_content = '<body> 
       <table width="450" border="0" cellpadding="5" class="table_data"> 
        <tr> 
        <td class="left_col">3. Chassis No</td> 
        <td><b>: ' . $chass_no . ' </b></td> 
        </tr> 
        <tr> 
        <td class="left_col">4. Engine No. </td> 
        <td> <b> : ' . $engine_id . '  </b></td> 
        </tr> 
       </table> 
       </body> 
       '; 
    //create pdf function 
    function createPDF($pdf_userid, $pdf_content, $pdf_For, $filename) 
    { 
     $path = 'UsersActivityReports/'; 
     $dompdf = new DOMPDF(); 
     $dompdf->load_html($pdf_content); 
     $dompdf->render(); 
     $output = $dompdf->output(); 
     file_put_contents($path . $filename, $output); 
     file_get_contents('output1.php'); 

     return $filename; 
    } 

    $name  = date("d-m-y") . rand() . '.pdf'; 
    $reportPDF = createPDF(12, $pdf_content, 'activity_Report', $name); 
} 
//loop ends here 
?> 
<iframe class="prv_pdf" src="/UsersActivityReports/<?php echo $name ?>#zoom=50" height="300px" width="440px"> 
+0

が見つかっ何もDHH – seshadry

答えて

0

最初にthis questionを参照してください。ループ内で関数を宣言すると、2回目にコードに遭遇するとエラーになります。だから、ループの外側でそれを動かす。

次に、ループごとに新しいPDFを生成し、そのPDFを毎回ファイルファイルに保存します。したがって、1ページのPDFしか入手できません。あなたがやりたがっていることは、各ループにHTMLコンテンツを生成して、それが完了したらPDFを生成することです。

このような何かを試してみては(質問で実際に何があるかに基づいて簡体字):

require_once('dompdf_config.inc.php'); 

function createPDF($pdf_content, $filename) { 
    $dompdf = new DOMPDF(); 
    $dompdf->load_html($pdf_content); 
    $dompdf->render(); 
    $output = $dompdf->output(); 
    file_put_contents($filename, $output); 
} 

$pdf_content = ' 
    <html> 
    <head> 
     <style> 
     .table_data { page-break-before: always; } 
     .table_data:first-child { page-break-before: never; } 
     </style> 
    </head> 
    <body> 
'; 
for ($i = 0; $i <= 5; $i++) { 
    $pdf_content = ' 
     <table width="450" border="0" cellpadding="5" class="table_data"> 
     <tr> 
      <td class="left_col">3. Chassis No</td> 
      <td>: <b>' . $chass_no . '</b></td> 
     </tr> 
     <tr> 
      <td class="left_col">4. Engine No. </td> 
      <td>: <b>' . $engine_id . '</b></td> 
     </tr> 
     </table> 
    '; 
} 
$html_content = '</body></html>'; 

$name = 'UsersActivityReports/' . date("d-m-y") . rand() . '.pdf'; 
createPDF($pdf_content, $name); 
?> 

<iframe class="prv_pdf" src="<?php echo $name ?>#zoom=50" height="300px" width="440px"> 
関連する問題