如何制作
<tr>
<th>a</th>
<th>b</th>
<th>c</th>
<th>d</th>
<th>e</th>
</tr>
始终可在每页上打印。
我的观点
<style>
@page { margin: 150px 50px; }
#header { position: fixed; left: 0px; top: -100px; right: 0px; height: 50px; text-align: center; }
#footer { position: fixed; left: 0px; bottom: -180px; right: 0px; height: 150px; text-align: center; }
#footer .page:after { content: counter(page, upper-roman); }
</style>
<div id="header">
<h1>Tittle</h1>
</div>
<div id="content">
<?php
echo"<table class='gridtable'>";
?>
<table width="100%" page-break-inside: auto;>
<tr>
<th>a</th>
<th>b</th>
<th>c</th>
<th>d</th>
<th>e</th>
</tr>
<?php
$num = 0;
foreach($result as $key=>$val){
$num++;
echo"<tr>
<td>".$a."</td>".
"<td>".$val['b']."</td>".
"<td>".$val['c']."</td>".
"<td>".$val['d']."</td>".
"<td>".$val['e']."</td>".
"</tr>";
}
?>
</table>
<?php
echo"</table>";
?>
</div>
<script type="text/php">
if ( isset($pdf) ) {
$font = Font_Metrics::get_font("helvetica", "bold");
$pdf->page_text(280, 780, "Page {PAGE_NUM} of {PAGE_COUNT}", $font, 10, array(0,0,0));
}
</script>
例如,我下载后是我的PDF
第1页:
| Title 1 | Tittle 2 | Tittle 3 |
| row 1 | row 1 | row 1 |
第2页:
| row 2 | row 2 | row 2 |
如何制作第二页:
| Title 1 | Tittle 2 | Tittle 3 |
| row 2 | row 2 | row 2 |
我希望Tittle总是印在每一页的顶部。谢谢
答案 0 :(得分:7)
在DOMPDF的最新版本中(例如,我相信版本为0.5.2或更高版本),您可以将包含表头的行包装在THEAD中。
将您的观点更改为:
<table width="100%" page-break-inside: auto;>
<thead>
<tr>
<th>a</th>
<th>b</th>
<th>c</th>
<th>d</th>
<th>e</th>
</tr>
<thead>
这应该可以解决问题。有一种情况是失败:如果您的表被渲染以便在thead
之后但在呈现任何数据行之前中断,则thead
将不会显示在下一页上。如果该表突破了另一个页面,thead
将显示在后续页面上。