Play フレームワークを使用し、rednerPDF() メソッドを使用して PDF をレンダリングしています。
コンテンツの一部を常に新しいページに表示したいと思います。
たとえば、2 つのテーブルがあります。最初のページから続行するのではなく、1 つのテーブルを最初のページに、別のテーブルを次のページに配置する必要があります。最初のテーブルの内容は動的であり、テーブルの高さはわかりません。
出来ますか?
Play フレームワークを使用し、rednerPDF() メソッドを使用して PDF をレンダリングしています。
コンテンツの一部を常に新しいページに表示したいと思います。
たとえば、2 つのテーブルがあります。最初のページから続行するのではなく、1 つのテーブルを最初のページに、別のテーブルを次のページに配置する必要があります。最初のテーブルの内容は動的であり、テーブルの高さはわかりません。
出来ますか?
yahp では、特別な html タグを使用して改ページを強制できます。
<yahp:pb />
出来ますか?はい。
1 つのテーブル (最初のテーブル) を最初のページに配置する必要があるとおっしゃいましたが、そのコンテンツは動的であると再度おっしゃいました。
今私の質問は、それが複数のページにまたがっていて、次のページに 2 番目のテーブルを書きたいということですか?
これは一般的なシナリオであり、あなたが言及したのは特定のシナリオです。PdfPTable setSplitLate () とsetSplitRows
()
の 2 つのプロパティを使用して試すことができます(詳細については、Google で検索して Itext In Action を参照してください)。2 つのテーブルを外側のテーブルの 2 つの行として保持するだけです。これらの 2 つのプロパティを内側と外側に設定します。必要に応じて何らかの方法で(つまり、一般的なケース/特定のケース)。
別の代替方法は、writeSelectedRows () メソッドを使用することです
PdfContentByte (
pdf の操作に使用するオブジェクトはわかりませんが、PdfWriter、* PdfStamper * を使用して
getDirectContent /* UnderContent */ OverContentから取得できます) テーブルを生成した後、このメソッドを使用するには、合計幅を設定する必要があります。高さはPdfPTableのメソッドgetTotalHeightで計算できます。この高さを適切に使用すると、テーブルがどこで終了するかが完全にわかります。ただし、これらすべての特定の部分を最初に読んで理解する必要があります。
page-break-after:always でこれを実現できます
改ページを含む動的に生成されたドキュメントについては、PDF の代替を参照 してください。