0

我正在使用 iText 7 创建一个带有相当复杂标题的 PDF 文档。

此标题将在第一页上显示一个复杂的表格,在其余页面上显示一个不同的表格。该表将包含传入的不同信息,并将包含页码和总页数。

我知道如何用表格创建标题。我知道如何创建 Y 的第 X 页。

我不知道如何在使用 iText 7 时创建不同的标题(不同高度的不同表格),这些标题会在某些逻辑上发生变化:

如果第 1 页使用表 A,如果页面 > 1 使用表 B。

有没有办法用 iText 7 解决这个问题?任何帮助,将不胜感激。

顺便说一句:在 iText 5 中,我解决了这个问题并且没有问题,但我想使用最新版本的 iText (7)。

4

1 回答 1

0

您需要实现 IEventHandler 并将其添加为事件侦听器以添加新页面简单示例:

public class PdfEventHandler implements IEventHandler {
    @Override
    public void handleEvent(Event event) {
    PdfDocumentEvent docEvent = (PdfDocumentEvent) event;

        PdfDocument pdfDoc = docEvent.getDocument();
        PdfPage page = docEvent.getPage();
        PdfDocumentEvent docEvent = (PdfDocumentEvent) event;

        PdfDocument pdfDoc = docEvent.getDocument();
        PdfPage page = docEvent.getPage();
        int pageNum = pdfDoc.getPageNumber(page)
                if(pageNum> 1 )
                    //add table1
                else 
                    //add Table 2
 }
}

然后像这样将此事件处理程序添加到您的文档事件侦听器中

 PdfEventHandler handler = new PdfEventHandler();

 pdf.addEventHandler(PdfDocumentEvent.START_PAGE, handler);
于 2021-06-18T07:26:58.943 回答