我有一张动态变化的表格。因此,该表可以在多个页面上。
我成功更改了页面而没有破坏行,但是我遇到了有关文档标题的问题。该表继续在第二页上,但从顶部开始,忽略文档中徽标的边距设置。
这是我的代码
$html = '<br/>
<table cellpadding="1" cellspacing="2" cellpadding="5" border="0" style="text-align:center;">
<thead>
<tr>
<th colspan="4" style="border-left:0.5px solid #1d2e5c; border-bottom:0.5px solid #1d2e5c; border-right:0.5px solid #1d2e5c;" bgcolor="#1d2e5c"><font color="#ffffff">ÉQUIPEMENTS ET LOGICIELS</font></th>
</tr>
<tr>
<th style="width:10%; border-left:0.5px solid #1d2e5c; border-bottom:0.5px solid #1d2e5c;">Qté</th>
<th style="width:50%; border-left:0.5px solid #1d2e5c; border-bottom:0.5px solid #1d2e5c;">Description</th>
<th style="width:20%; border-left:0.5px solid #1d2e5c; border-bottom:0.5px solid #1d2e5c;">Prix</th>
<th style="width:20%; border-left:0.5px solid #1d2e5c; border-bottom:0.5px solid #1d2e5c; border-right:0.5px solid #1d2e5c;">Total</th>
</tr>
</thead>';
foreach( $equipements as $row ) {
$quant = $row['Qte'];
$priceUnit = (ISSET($row['AutrePrix']) && $row['AutrePrix'] != 0) ? $row['AutrePrix'] : $row['Prix'];
$totalEquip = $quant * $priceUnit;
$totalAllEquip += $totalEquip;
$html .= '<tr nobr="true">
<td style="width:10%; border-left:0.5px solid #1d2e5c; border-bottom:0.5px solid #1d2e5c;">' . $quant . '</td>
<td style="width:50%; border-left:0.5px solid #1d2e5c; border-bottom:0.5px solid #1d2e5c; text-align: left;">' . $row['Nom'] . '</td>
<td style="width:20%; border-left:0.5px solid #1d2e5c; border-bottom:0.5px solid #1d2e5c; text-align: right;">' . number_format($priceUnit, 2, '.', ' ') . '<font size="-2"> $</font></td>
<td style="width:20%; border-left:0.5px solid #1d2e5c; border-bottom:0.5px solid #1d2e5c; border-right:0.5px solid #1d2e5c; text-align: right;">' . number_format($totalEquip, 2, '.', ' ') . '<font size="-2"> $</font></td>
</tr>';
}
$html .= '<tr>
<td colspan="3"></td>
<td style="width:20%; border-left:0.5px solid #1d2e5c; border-bottom:0.5px solid #1d2e5c; border-right:0.5px solid #1d2e5c; text-align: right;" bgcolor="#1d2e5c"><font color="#ffffff">' . number_format($totalAllEquip, 2, '.', ' ') . '</font><font color="#ffffff" size="-2"> $</font></td>
</tr>
</table>';
$pdf->writeHTML($html, true, false, false, false, '');
编辑:2016-06-01
我使用tcpdf库:sourceforge.net/projects/tcpdf和tcpdf_config.php文件。我用来设置标题数据的命令是:
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING, array(0,64,255), array(0,64,128));
答案 0 :(得分:0)
确保设置页边距和自动分页
//tr[.//div[@class='present_name'] = 'all']/@id
例如,您可以查看http://www.tcpdf.org/examples/example_048.phps 以及http://www.tcpdf.org/examples/example_048.pdf
的结果示例答案 1 :(得分:0)
因为我设置的所有配置都不起作用(我已经在这里设置了所有内容:http://www.tcpdf.org/examples/example_048.phps - http://www.tcpdf.org/examples/example_048.pdf),我终于设置了一个计数器页面中的行数最多,然后,我添加了一个新页面,之后,我继续在另一页上。
这是我发现的最简单方法(我急着找到解决方案)
答案 2 :(得分:0)
我遇到了产生多页薪水表的问题,我通过删除除<table><thead><tbody>
以外的所有HTML标签来解决了该问题
我认为这对其他人有帮助。