提问者:小点点

itextpdf:表拆分时如何插入新页面?


我正在使用iTextPdf 5.4.1。我有一个包含许多行的表,当表自动拆分到下一页时,我想插入一个图像,然后插入另一个分页符来继续表的行。

例如:假设一个表将根据它的行数占用2页。

最终输出应该是:
第1页:适合第一页的表行
第2页:image
第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页:表格行

有人知道怎么做吗?


共1个答案

匿名用户

如果我没记错的话,我们收到了一个名为PdfPTableEventAfterSplit的活动的代码贡献。它将在几周内集成到iText中,并在7月底发布。在那个日期之前,iText无法满足您的需求。感谢您的耐心等待。