Java 对IText 7中的所有PDF页面使用单一模板

Java 对IText 7中的所有PDF页面使用单一模板,java,itext7,Java,Itext7,我有以下PDF模板,该模板应与我创建的PDF中添加的所有页面一致 问题是,我只为第1页获取此模板,其余页面仅使用空白模板,这是我现在使用的代码 PdfDocument pdfDoc = new PdfDocument(new PdfReader(SRC),new PdfWriter(baosPDF)); PageSize ps = new PageSize(900, 780); // Initialize document Document document = new Document(

我有以下PDF模板,该模板应与我创建的PDF中添加的所有页面一致

问题是,我只为第1页获取此模板,其余页面仅使用空白模板,这是我现在使用的代码

PdfDocument pdfDoc = new PdfDocument(new PdfReader(SRC),new PdfWriter(baosPDF));

PageSize ps = new PageSize(900, 780);

// Initialize document
Document document = new Document(pdfDoc, ps);
document.setMargins(80f, 20f, 50f, 20f);

PdfFont font = PdfFontFactory.createFont(StandardFonts.HELVETICA);
PdfFont bold = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
for(int i = 0; i < 10; i++){
    document.add(new Paragraph("Some Content"));
    document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
}
document.close();
PdfDocument pdfDoc=新的PdfDocument(新的PdfReader(SRC)、新的PdfWriter(pdf));
PageSize ps=新页面大小(900780);
//初始化文档
文件=新文件(pdfDoc,ps);
文件。设置页边距(80f、20f、50f、20f);
PdfFont font=PdfFontFactory.createFont(StandardFonts.HELVETICA);
PdfFont bold=PdfFontFactory.createFont(StandardFonts.HELVETICA_bold);
对于(int i=0;i<10;i++){
添加(新段落(“某些内容”);
添加(新的AreaBreak(AreaBreakType.NEXT_PAGE));
}
document.close();
我已经提到了这个例子,但是我需要一些特定于iText7的东西,因为它与5.x.x版本有很大的不同


如何使我的PDF文件中显示的单个模板在所有页面上都是通用的?

如评论中所述,您需要创建一个
IEventHandler
,如中所述

这是PDF到HTML教程()中的一个示例

如您所见,我们在构造函数中读取模板,然后在
handleEvent()
方法中将其绘制到画布上。在本例中,我们还添加了一个白色页码,您可以删除所有这些行

public void handleEvent(Event event) {
    PdfDocumentEvent docEvent = (PdfDocumentEvent) event;
    PdfDocument pdf = docEvent.getDocument();
    PdfPage page = docEvent.getPage();
    PdfCanvas pdfCanvas = new PdfCanvas(
        page.newContentStreamBefore(), page.getResources(), pdf);
    pdfCanvas.addXObject(stationery, 0, 0);
}
显然,您还需要声明处理程序:

PdfDocument pdf = new PdfDocument(writer);
IEventHandler handler = new Background(pdf, stationery);
pdf.addEventHandler(PdfDocumentEvent.START_PAGE, handler);

请阅读教程。更具体地说:关于
PdfDocument pdf = new PdfDocument(writer);
IEventHandler handler = new Background(pdf, stationery);
pdf.addEventHandler(PdfDocumentEvent.START_PAGE, handler);