我正在使用 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 页:表格行
有谁知道如何做到这一点?