TCPDF のキープ トゥギャザー機能があるかどうか疑問に思っています。FPDF 用に 1 つ持っていますが、TCPDF では動作しません。
PDF生成コード内でどのように機能するかを次に示します。
// ... PDF code/stuff
// while not kept together
// add PDF stuff that should be kept together
// .. more PDF code/stuff
新しいページが追加された場合、関数はfalseを返し、ロールバックしてからwhileループを再度実行すると考えています。
私は次の作業をしていますが、TCPDFの関数/メソッドにあった方がいいので、より再利用可能でした:
$pdf->startTransaction();
$block_page = $pdf->getPage();
$print_block = 2; // max 2 tries
while ($print_block > 0) {
// do PDF stuff
if ($pdf->getPage() == $block_page) {
$print_block = 0;
} else {
// rollback
$pdf = $pdf->rollbackTransaction();
$pdf->AddPage();
$block_page = $pdf->getPage();
-- $print_block;
}
}
writeHTML() のようなものはトランザクションを使用するため、組み込みのトランザクション機能に依存せずにループ内でトランザクションを使用できるようにすることもクールです。