我使用dompdf来创建pdf。 在这个pdf上,我创建了一个表。但我想让这个表仍然像500px一样保持高度;
这是代码:
<div style="width : 100%; height: 550px">
<table class="detail" style="width : 100%; padding-top: -10px; height: 550px ">
<tbody>
<tr>
<th rowspan="2" style="width : 5%; border: 1px solid black"><strong>No</strong></th>
<th rowspan="2" style="width : 50%; border: 1px solid black"><strong>DESCRIPTION</strong></th>
<th colspan="2" style="border: 1px solid black"<strong>UNIT</strong></th>
<th rowspan="2" style="border: 1px solid black" colspan="2">Total<br> IDR</th>
</tr>
<tr>
<td style='text-align : center; border: 1px solid black '><strong>QUANTITY</strong></td>
<td style='text-align : center; border: 1px solid black' ><strong>PRICE</strong></td>
</tr>
<tr><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none'>1</td><td style='text-align : left; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>STORAGE</td><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px; '>1</td><td style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>30,103,437.60</td><td colspan='2' style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>30,103,437.60</td></tr><tr><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none'>2</td><td style='text-align : left; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>REPO</td><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px; '>1</td><td style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>1,470,852.00</td><td colspan='2' style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>1,470,852.00</td></tr><tr><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none'>3</td><td style='text-align : left; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>CLEANING</td><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px; '>1</td><td style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>129,244,310.00</td><td colspan='2' style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>129,244,310.00</td></tr><tr><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none'>4</td><td style='text-align : left; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>ONE_BAR</td><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px; '>1</td><td style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>20,591,928.00</td><td colspan='2' style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>20,591,928.00</td></tr><tr><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none'>5</td><td style='text-align : left; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>PERIODICAL TEST 2.5 YEARS</td><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px; '>1</td><td style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>3,404,750.00</td><td colspan='2' style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>3,404,750.00</td></tr><tr><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none'>6</td><td style='text-align : left; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>PERIODICAL TEST 5 YEARS</td><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px; '>1</td><td style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>7,354,260.00</td><td colspan='2' style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>7,354,260.00</td></tr><tr><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none'>7</td><td style='text-align : left; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>REPAIR</td><td style='text-align : center; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px; '>1</td><td style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>104,211,907.05</td><td colspan='2' style='text-align : right; border-right: solid 1px black; border-bottom : none; border-top:none; padding: 2px;'>104,211,907.05</td></tr>
<tr>
<td style='height : 50px;text-align : center; border-right: solid 1px black; border-bottom : solid 1px black; border-top:none'></td>
<td style='text-align : left; border-right: solid 1px black; border-bottom : solid 1px black; border-top:none; padding: 2px;'><strong>PERIODE MEI 2016 </strong></td>
<td style='text-align : left; border-right: solid 1px black; border-bottom : solid 1px black; border-top:none; padding: 2px;'></td>
<td style='text-align : left; border-right: solid 1px black; border-bottom : solid 1px black; border-top:none; padding: 2px;'></td>
<td colspan="2" style='text-align : right; border-right: solid 1px black; border-bottom : solid 1px black; border-top:none; padding: 2px;'></td>
</tr>
<tr>
<td rowspan="3" colspan="3" style="border : none;"></td>
<td style="text-align : right; border: 1px solid black"><strong>SUB TOTAL</strong></td>
<td colspan="2" style="text-align : right; border: 1px solid black">296,381,444.65</td>
</tr>
<tr>
<td style="text-align : right; border: 1px solid black"><strong>VAT 10%</strong></td>
<td colspan="2" style="text-align : right; border: 1px solid black; ">
29,638,144.47 </td>
</tr>
<tr>
<td style="text-align : right; border: 1px solid black"><strong>TOTAL</strong></td>
<td colspan="2" style="text-align : right; border: 1px solid black">
326,019,589.12 </td>
</tr>
</tbody>
</table>
</div>
参见div和table height属性。我已经宣布了。所以,如果tbody中只有一行,我希望表中的高度恒定但是这在dompdf中不起作用。
请帮助,任何帮助,所以赞赏。
答案 0 :(得分:0)
您无需指定&#39; px&#39;用于桌子宽度和高度。
<table class="detail" style="width : 100%; padding-top: -10px; height: 550">
如果表是动态的,您可能需要一些JS来为所有行添加高度。 3表行=(550/3)。 如果表是静态的,只需自己做数学并将高度添加到每一行。没有这个高度,表格将根据其内容形成。
不要将宽度或高度添加为内联样式。表,TH,TR,和TD具有高度和宽度的参数。记得省去&#34; px&#34;
答案 1 :(得分:0)
dompdf在表格方面有一些限制。它能够处理定义的宽度,并以相当可接受的方式根据需要进行分配。但是定义的高度会导致问题,因为dompdf不知道如何跨行分配高度。
如果您有一行,它会正确调整行的大小,但这显然不是您的问题的解决方案。
目前还没有已知的解决方法。