試行錯誤の末、実用的な解決策を得ることができました。IPdfCellEvent
単一のメソッドを宣言するを実装しましたCellLayout
。iText documentationに従って、これはセルがレンダリングされた後に呼び出されます。つまり、最初に呼び出されたときに、テーブルの最初のページのセルがレンダリングされます。したがって、この呼び出しを使用して余分なテキストを追加し、後続のすべてのレンダリングに追加のテキストが含まれるようにします。
これは私のインターフェースの実装です:
private class ContinuedCellEvent : IPdfPCellEvent
{
public void CellLayout( PdfPCell cell, Rectangle position, PdfContentByte[] canvases )
{
if ( !_continuationApplied )
{
// This is called AFTER cell rendering so this should set the cell for the next time it is rendered
// which will always be on a continuation.
cell.Phrase.Add( new Chunk( " Continued" ) );
_continuationApplied = true;
}
}
private bool _continuationApplied;
}
セルを定義するときに使用されます。
cell.CellEvent = new ContinuedCellEvent();