我有一個php表格,其中包含有關特定號碼結算的信息。生成此表後,我使用mpdf將其導出爲pdf。 如果表格有一定數量的行,它會以奇怪的方式破壞頁面,導致頁眉在沒有行的下一頁上重複。 下面是表的格式:php表格中斷頁面在下一頁沒有行
表中包含最多3頭裏面<thead>
標籤,就像這樣:
<table class="items" width="100%" style="font-size: 9pt; border-collapse: collapse;" cellpadding="8">
<thead>
<tr>
<td width="30.3%">Forbrug</td>
<td width="23.1%">Periode</td>
<td width="10.76%">Tid/MB</td>
<td width="9.28%">Enheder</td>
<td width="12.9%" align="right">I alt</td>
<td width="13.3%" align="right">I alt+<b>moms</b></td>
</tr>
</thead>
行的同時,添加從數據庫中以這種方式..沒什麼特別
<tr>
<td>'.$produktNameFromDatabase.'</td>
<td>'.$periodeFromDatabase.'</td>
<td>'.$tidMbFromDatabase.'</td>
<td>'.$enhederFromDatabase.'</td>
<td align="right">'.number_format((float)$produktpris, 2, ',', '.').' kr.</td>
<td align="right"><b>'.number_format((float)$produktpris*(1 + (0.25 * $moms)) - $momsDiscount, 2, ',', '.').' kr.</b></td>
</tr>
與總線在端部
<tr>
<td class="blanktotal" colspan="1" rowspan="6"></td>
<td class="blanktotal" colspan="1" rowspan="6"></td>
<td class="totals" colspan="2">Subtotal:</td>
<td class="totals" colspan="2">'.number_format((float)$pris1, 2, ',', '.').' kr.</td>
</tr>
<tr>
<td class="totals1" colspan="2">Moms:</td>
<td class="totals1" colspan="2">'.number_format((float)$pris1*(0.25 * $moms) - $momsTotal, 2, ',', '.').' kr.</td>
</tr>
<tr>
<td class="totals1" colspan="2"><b>TOTAL:</b></td>
<td class="totals1" colspan="2"><b>'.number_format((float)$pris1*(1 + (0.25 * $moms)) - $momsTotal, 2, ',', '.').' kr.</b></td>
</tr>
</tbody>
</table>
!!!現在你已經看到的所有事情,包括總數都是桌子的一部分!
這裏是我有MPDF設置:
在PHP中:
$mpdf=new mPDF('win-1252','A4','','',20,15,48,25,10,10);
$mpdf->useOnlyCoreFonts = true; // false is default
$mpdf->SetProtection(array('print'));
$mpdf->SetTitle("Suggestive Title");
$mpdf->SetAuthor("Author");
$mpdf->SetWatermarkText("Faktura");
$mpdf->showWatermarkText = true;
$mpdf->watermark_font = 'DejaVuSansCondensed';
$mpdf->watermarkTextAlpha = 0.1;
$mpdf->SetDisplayMode('fullpage');
在HTML:
$html .= '<!--mpdf
<htmlpageheader name="myheader">
<table width="100%"><tr>
<td width="50%" style="color:#000000;">
<span style="font-weight: bold; font-size: 14pt;">
Company Name
</span>
Company Information
</td>
<td width="50%" style="text-align: right;">
<img src="image.jpg" />
Invoice Information <br />Side: {PAGENO} af {nb}
</td>
</tr></table>
</htmlpageheader>
<htmlpagefooter name="myfooter">
<div style="border-top: 1px solid #000000; font-size: 9pt; text-align: center; padding-top: 3mm; ">
Footer Stuff
</div>
<div style="font-size: 9pt; text-align: center;">
Other Footer Stuff
</div>
</htmlpagefooter>
<sethtmlpageheader name="myheader" value="on" show-this-page="1" />
<sethtmlpagefooter name="myfooter" value="on" />
mpdf-->';
一些的造型,我使用
body {font-family: sans-serif;
font-size: 10pt;
}
p { margin: 0pt;
}
td { vertical-align: top; }
.items td {
border-left: 0.1mm solid #000000;
border-right: 0.1mm solid #000000;
}
table thead td { background-color: #d4ffaa;
border: 0.1mm solid #000000;
}
.items td.blanktotal {
background-color: #FFFFFF;
border: 0mm none #000000;
border-top: 0.1mm solid #000000;
border-right: 0.0mm solid #000000;
}
.items td.totals {
text-align: right;
border-top: 0.1mm solid #000000;
border-right: 0.0mm solid #000000;
border-left: 0.0mm solid #000000;
}
.items td.totals1 {
text-align: right;
border-top: 0.0mm solid #000000;
border-right: 0.0mm solid #000000;
border-left: 0.0mm solid #000000;
}
結果看起來是這樣的:
出現此問題只有當行數量填充的頁面。如果它溢出,它不是主要問題,因爲表頭仍然存在於下一頁(不幸的是,不僅是最後一頁),而且其餘的行被進一步添加。
我該如何擺脫那些空行,在這種特殊情況下?
謝謝!
!!編輯:增加了更多的信息,代碼和更好的案例圖像。對不起,第一次沒有這樣做!
!編輯#2:我剛上有超過1頁的<thead>
,使其保持在接下來的幾頁自己的位置列的其他例子觀察。它總是發生。有沒有一種方法來禁用,以便其他<thead>
旨意只是繼續從頁面頂部的下一個頁面上,而不從以前的頁面記住的位置?
我添加了所有標題,如您向我展示的那樣,並將標題設置爲mpdf,但它不起作用。所以,這裏的問題是當表格的行填滿表格時(不超過)。它在第二頁上添加沒有行的標題。如果行數超過了頁面,那麼在第二個頁面上再次顯示頁眉時沒有問題,只要它填充了頁面... –
那麼,如果你沒有顯示你的代碼,就不可能確定什麼是什麼真的發生了;) – ShutUpMagda
我爲此道歉。我添加了一些更多的東西,並且更好地解釋了一些,以便您可以更好地瞭解該案例。不幸的是,我不能顯示所有內容,因爲這不是我個人的工作,但我試圖展示一切重要的事情,以便我可以解決問題。請告訴我,這與我現在添加的內容相關。謝謝! –