2016-07-05 15 views
1

私はtcpdf(PHP)を使ってpdfに変換するhtmlを持っています。最初に私は$pdf->AddPage();を使っています。そして、私はpdfのhtml、つまり$pdf->writeHTML()を書くのに使っています。ここで、もし私が再び$pdf->writeHTMLになるとすれば、新しい$pdf->writeHTML()コマンドが現在のページまたは新しいページから印刷されることをどのように知ることができますか?現在のページの保留中のスペースとして、現在または次のページに表示する必要のあるコンテンツがあるためです。したがって、新しいpdf->writeHTML()が新しいページから開始する場合は、一部のコンテンツにマニュアルページ区切りを追加したくありません。

+0

この問題に関して私を導くことができるtcpdfの専門家はいますか? – user3264863

答えて

1

TCPDF::AddPage()またはAutoPageBreakを使用して手動でページを追加するか、コンテンツがページの下部から設定された距離を超えていない限り、TCPDFは現在のページにコンテンツを書き込みます。

デフォルトでは、AutoPageBreakは2cmのマージンで有効になっています。それを無効にするか($pdf->SetAutoPageBreak(false))、TCPDF::SetAutoPageBreak()を使用して異なるマージン($pdf->SetAutoPageBreak(true, $margin_in_user_measurement_units))を設定することができます。デフォルトの測定単位はミリメートルです。

AutoPageBreakが有効になっていても、手動で新しいページ($pdf->AddPage())を開始すると、下の余白が再び超過するまで、新しいコンテンツがこのページに表示されます。自動改ページでは、手動改行の直後に2番目の改ページが挿入されることはありません。

TCPDF::WriteHTML()を使用して追加するコンテンツは、複数のページになることがあります。この場合、AutoPageBreakは必要に応じて新しいページを自動的に追加します。 CSS(page-break-inside: avoid)を使用して、コンテンツを常にページ上にまとめることができます。 page-break-after: alwaysを使用して改ページを強制することができます。

+0

新しい印刷を開始するページの現在の位置を見つけるのにtcpdfの機能はありますか? – user3264863

+0

ありがとうございました。それは私の問題を解決しました。 – user3264863

+0

あなたは、TCPF :: GetY()を使って、ユーザ計測ユニットの現在の垂直位置をページ上で見つけることができます。 –

関連する問題