1

我正在使用 html2pdf 类从 html 页面生成 pdf 文件。我想将列标题放在每个页面上。但我没有得到如何做到这一点的概念。这是我的代码:

<?php 
function linewrap($string, $width, $break, $cut) {
$array = explode("\n", $string);
$string = "";
foreach($array as $key => $val) {
 $string .= wordwrap($val, $width, $break, $cut);
 $string .= "\n";
}
return $string;
}
if(isset($_POST['download'])){
//connect to the database
require_once('../../connect.php'); 
$status=$_POST['status'];

//retrieve the specific rows by given status
$query="SELECT *
        FROM `incident_status`
        WHERE status='".$status."'";

//execute the query
$run=mysql_query($query);
$i=1;

//content to be downloaded
  $content='<page backtop="2mm" backbottom="2mm" backleft="2mm" backright="2mm" style="font-size:6pt;bordercolor:#000000;">';
  $content .='<p style="text-align:center;"><b>Incident Status Report</b> of the Pending cases </p>';
  $content.='<table align="center" style="background-color: #DDDDFF; border-bottom: solid 1mm #AAAADD; padding: 2mm " border="1">';
  $content.='<tr>
                <th>SL:</th>
                <th>Date:</th>
                <th>Case No:</th>
                <th>Customer Name:</th>
                <th>Cell No:</th>
                <th>Agent id:</th>
                <th>Card no:</th>
                <th>Problem Type:</th>
                <th>Remarks:</th>
                <th>Open By:</th>
            </tr>';
    while($data=mysql_fetch_array($run)){
        $date=$data['date'];
        $case_no=$data['case_no'];
        $name=$data['name'];
        $cell_no=$data['cell_no'];
        $agent_id=$data['agent_id'];
        $card_no=$data['card_no'];
        $problem_type=$data['problem_type'];
        $open_by=$data['open_by'];
        $close_by=$data['close_by'];
        $content.='<tr style="border: solid 1mm #000000;">';
        $content.='<td>'.$i++.'</td>';
        $content.='<td>'.$date.'</td>';
        $content.='<td>'.$case_no.'</td>';
        $content.='<td>'.$name.'</td>';
        $content.='<td>'.$cell_no.'</td>';
        $content.='<td>'.$agent_id.'</td>';
        $content.='<td>'.$card_no.'</td>';
        $content.='<td>'.$problem_type.'</td>';
        $content.='<td>';
        $content.='<ol>';
        $remarks = explode(";", $data['remarks']);
         foreach($remarks as $remark){
           $wrap=linewrap($remark,50,"<br/>",true);
           $content.='<li>'.$wrap.'</li>';  
          }
        $content.='</ol>';
        $content.='</td>';
        $content.='<td>'.$open_by.'</td>';
        $content.='</tr>';
    }
                $content.='</table></page>';
//end of content

//get the html2pdf class
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');

//new object of html2pdf class
$html2pdf = new HTML2PDF('P','','fr');
$html2pdf->WriteHTML($content);
$html2pdf->Output('incident_status_report_of_pending_cases.pdf');
}
?>

请帮我解决这个问题。我非常需要这种帮助,因为这是我的最后一个项目,我只坚持这个事实。提前致谢。

4

2 回答 2

5

我找到了答案:

  $content.='<thead style="display:table-header-group;">
                <tr>
                    <th>SL:</th>
                    <th>Date:</th>
                    <th>Case No:</th>
                    <th>Customer Name:</th>
                    <th>Cell No:</th>
                    <th>Agent id:</th>
                    <th>Card no:</th>
                    <th>Problem Type:</th>
                    <th>Remarks:</th>
                    <th>Open By:</th>
                </tr>
            </thead>';

<thead></thead>标签将表头打印到每一页。谢谢。

于 2013-02-27T07:07:15.567 回答
1

尝试将其添加到您的 phtml 页面中:

<page>
   <page_header>
      <table class="page_header">
         <tr>
            <td style="width: 50%; text-align: left">
               title1
            </td>
            <td style="width: 50%; text-align: right">
               title2
            </td>
         </tr>
      </table>
   </page_header>

   <div class="note">
      Your content
   </div>
</page>

如需进一步参考,请查看:http ://html2pdf.fr/en/example(about.pdf 示例)

希望这可以帮助

于 2013-02-19T10:41:27.877 回答