我使用TCPDF打印一些數據表:一個大表(儘管通常不會長於一頁),然後是第二個較小的表。
在某些情況下,兩個表一起長於一個頁面,所以TCPDF在第二個表的中間插入分頁符。我的客戶希望避免這種行爲:他們寧願將第二張表完全放在新的頁面上,即如果兩張表都不適合放在單個頁面上,則在表格之前插入分頁符。tcpdf:防止分頁內的頁面中斷
當然,如果兩張表都適合在一個頁面上,則不應該使用分頁符。
那麼有誰知道是否有辦法指示TCPDF 而不是在給定表中插入分頁符?
我使用TCPDF打印一些數據表:一個大表(儘管通常不會長於一頁),然後是第二個較小的表。
在某些情況下,兩個表一起長於一個頁面,所以TCPDF在第二個表的中間插入分頁符。我的客戶希望避免這種行爲:他們寧願將第二張表完全放在新的頁面上,即如果兩張表都不適合放在單個頁面上,則在表格之前插入分頁符。tcpdf:防止分頁內的頁面中斷
當然,如果兩張表都適合在一個頁面上,則不應該使用分頁符。
那麼有誰知道是否有辦法指示TCPDF 而不是在給定表中插入分頁符?
提前計算第二張桌子的高度。如果需要,使用checkPageBreak方法添加分頁符。
開始一個事務,插入表格,檢查你是否在一個新的頁面,如果是的話,回滾並添加一個頁面,然後插入你的表格。
非常重要:不要忘了真正的使命回滾:
$this->startTransaction();
$start_page = $this->getPage();
$this->writeHTMLCell(0, 0, '', '', $html, 0, 1, false, true, 'C' );
$end_page = $this->getPage();
if ($end_page != $start_page) {
$this->rollbackTransaction(true); // don't forget the true
$this->AddPage();
$this->writeHTMLCell(0, 0, '', '', $html, 0, 1, false, true, 'C' );
}else{
$this->commitTransaction();
}
希望它可以根據文檔有助於 米歇爾
,有添加NOBR = 「true」 以一個選項表標記作爲屬性。
$tbl = <<<EOD
<table border="1" cellpadding="2" cellspacing="2" nobr="true">
<tr>
<th colspan="3" align="center">NON-BREAKING TABLE</th>
</tr>
<tr>
<td>1-1</td>
<td>1-2</td>
<td>1-3</td>
</tr>
</table>
EOD;
$pdf->writeHTML($tbl, true, false, false, false, '');
雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/10271475) – 2015-11-20 07:55:52
好的,使sence,我被添加編輯後。謝謝 – mimros 2015-11-20 15:01:23
這是一個有點老問題,不相關的了我,所以我現在不能測試你的答案。不過謝謝! – s427 2013-11-25 17:22:54
要小心這種方法,以確保您的$ html內容永遠不會超過一頁。在這種情況下,最終頁面總是不等於起始頁面,並且腳本將簡單地繼續添加空白頁面。 IF語句中的一個標誌將允許您跟蹤是否已添加空白,並允許您強制停止或警告。 – RelicScoth 2014-10-07 15:45:37
這對我來說非常好。謝謝! – DACrosby 2014-12-10 04:49:34