如何使用iText7为PDF文件添加完整的PDF页面作为背景

时间:2016-11-22 21:39:11

标签: pdf itext7

你好,我在iText 5上工作很多,对iText 7来说很新。 我试图找出如何使用PDF文件将其作为模板添加到我的新PDF文档中。

目标是生成一个Letter,其中布局由位于文本下方的静态PDF文件提供。 在iText5中我用过:

  public void onEndPage(PdfWriter pdfwriter, Document document, PdfReader templatePdf) {
            PdfContentByte cb=pdfwriter.getDirectContent(); 
            PdfImportedPage template = pdfWriter.getImportedPage(templatePdf, 1)
            cb.addTemplate(template, 0, 0);

我找到了一个教程,通过PageEventHandler(IEventHandler)和PdfCanvas来添加图像.Canvas = new PdfCanvas(page.newContentStreamAfter(),                     page.getResources(),pdfDoc); 但是Canvas不接受PDFPage。

有没有人知道如何使用iText7完成这项工作?

坦克帮助你! 你的Toking

1 个答案:

答案 0 :(得分:1)

感谢Samuel,你对XObject的暗示非常有帮助。

使用以下代码,我能够将PDF页面显示为背景。

public void handleEvent(Event event) {

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

    PdfFormXObject pageCopy;
    try {
        pageCopy = bgPage.copyAsFormXObject(pdfDoc);
        PdfCanvas canvas = new PdfCanvas(page);
        canvas.addXObject(pageCopy, 0, 0);
    } catch (IOException e) {
        e.printStackTrace();
    }
}