0

iTextPdf 5.4.1 を使用しています。多くの行を含むテーブルがあり、テーブルが次のページに自動分割されるときに、画像を挿入してから別の改ページを挿入して、テーブルの行を続けたいと考えています。

例: テーブルが行数に基づいて 2 ページを占めるとします。

最終的な出力は次のようになります:
ページ 1: 最初のページに収まるテーブル行
ページ 2: 画像
ページ 3: 残りのテーブル行。

そのため、テーブルが分割されるたびに、画像を挿入してから改ページしたいと考えています。

次のように、PdfPTableEventSplit インターフェイスを使用しようとしています。

public class TableSplitEvent implements PdfPTableEventSplit
{
   private Image pageImage;
   private Document pdfDoc;

   public TableSplitEvent( Image pageImage, Document pdfDoc )
   {
      super();
      this.pageImage = pageImage;
      this.pdfDoc = pdfDoc;
   }

   @Override
   public void splitTable( PdfPTable table )
   {
      try
      {
         pdfDoc.add( pageImage );
         pdfDoc.newPage();
      }
      catch ( DocumentException e )
      {
         // TODO Auto-generated catch block
         e.printStackTrace();
      }
   }

   @Override
   public void tableLayout( PdfPTable table, float[][] widths, float[] heights, int headerRows, int rowStart,
                            PdfContentByte[] canvases )
   {
   }

}

ただし、テーブルがレンダリングされた後、pdf に書き込まれる前にイベントが呼び出されるように見えるため、それはうまくいかないようです。

私は取得しています:
ページ1:画像
ページ2:テーブル行
ページ3:テーブル行

誰もこれを行う方法を知っていますか?

4

1 に答える 1