2013-12-11 168 views
0

我正在使用DOMPDF從html生成pdf文件。 PDF文件正在生成,但內容之間出現許多空白頁面。以下是我的PHP代碼。dompdf在內容之間生成許多空白頁面的PDF

<?php 
    $html=file_get_contents("views/testnew.html"); 
// echo $html;die(); 
    $paper_orientation = 'landscape'; 

    ob_start(); 
    require_once("dompdf/dompdf_config.inc.php"); 
    $pdfcontent = $html; 

    $dompdf = new DOMPDF(); 
    $dompdf->set_paper('A4', $paper_orientation); 
    $dompdf->load_html($pdfcontent); 
    $dompdf->render(); 

// $pdf = $dompdf->output(); 
    $pdf=$dompdf->stream("my_pdf.pdf", array("Attachment" => 0)); 
// file_put_contents('Brochure.pdf', $pdf); 
?> 

以下是我的HTML這是我在PDF文件

http://jsfiddle.net/6RmmB/ 

由於PDF是如何產生,我不認爲這是用PHP代碼的任何問題寫。 html中的某些東西一定是錯的,但是無法弄清楚究竟是什麼?

或者我錯過了PHP代碼中的東西?

內容旁邊的「僱主識別號碼」後,由於DOMPDF如何處理paging of table cells錯誤約8-9空白頁

回答

2

這看起來是出現。如果您移除似乎只存在以提供邊框的外部表格,則該頁面的渲染效果會更好。你可能仍然需要調整結構/樣式,但是,要得到你想要的。

例如,而不是這樣的:

<table width="100%" border="0" cellpadding="0" cellspacing="0" id="" style="border:1px solid #ccc;color: #000;font-family: Arial,Helvetica,sans-serif;font-size:14px;"> 
    <tr> 
     <td> 
      <table width="100%" cellspacing="0" cellpadding="0" border="0" style="border-bottom:1px solid #ccc"> 
       <tr> 
        <td width="15%" align="left" valign="top" style="border-right:1px solid #ccc;padding:10px;line-height:20px">Form 
         <img src="/var/www/html/pm5/bodytechniques/working/development/version5/therapist/images/w9-form.JPG" width="83" height="37" style="margin-left:15px" /> 
         <br>(Rev. August 2013) 
         <br>Department of the Treasury 
         <br>Internal Revenue Service</td> 
        <td width="69%" align="left" valign="top" style="border-right:1px solid #ccc;padding:10px;text-align:center;line-height:45px"> 
         <h1 align="center">Request for Taxpayer Identification Number and Certification</h1> 
        </td> 
        <td width="16%" align="left" valign="top"> 
         <h3 style="line-height:25px;padding:10px">Give Form to the requester. Do not send to the IRS</h3> 
        </td> 
       </tr> 
      </table> 
     </td> 
    </tr> 
</table> 

這樣做:

<div style="border:1px solid #ccc;color: #000;font-family: Arial,Helvetica,sans-serif;font-size:14px;"> 
    <table width="100%" cellspacing="0" cellpadding="0" border="0" style="border-bottom:1px solid #ccc"> 
     <tr> 
      <td width="15%" align="left" valign="top" style="border-right:1px solid #ccc;padding:10px;line-height:20px">Form 
       <img src="/var/www/html/pm5/bodytechniques/working/development/version5/therapist/images/w9-form.JPG" width="83" height="37" style="margin-left:15px" /> 
       <br>(Rev. August 2013) 
       <br>Department of the Treasury 
       <br>Internal Revenue Service</td> 
      <td width="69%" align="left" valign="top" style="border-right:1px solid #ccc;padding:10px;text-align:center;line-height:45px"> 
       <h1 align="center">Request for Taxpayer Identification Number and Certification</h1> 
      </td> 
      <td width="16%" align="left" valign="top"> 
       <h3 style="line-height:25px;padding:10px">Give Form to the requester. Do not send to the IRS</h3> 
      </td> 
     </tr> 
    </table> 
</div> 

下面是完整的文檔小提琴:對於下載PDF http://jsfiddle.net/bsweeney/6RmmB/2/

1

我使用DOMPDF hml頁面。下載許多空白頁面時,內容之間會出現。我使用表格作爲內容。請幫助任何人解決此問題。這裏是我的代碼

$dompdf = new DOMPDF(); 
     //$dompdf->load_html(file_get_contents($filename)); 
     $dompdf->load_html($data); 
     $dompdf->set_paper("letter", "portrait"); 
     $dompdf->render(); 

     //$dompdf->stream($filename. ".pdf", array("Attachment" => 0)); 
     $output = $dompdf->output(); 
0

我有問題,當多個表不適合一個頁面。 解決方案很簡單,在表格後添加<div style="clear: both;">