如何使用iText7为PDF文件添加完整的PDF页面作为背景 [英] How to add a full PDF-Page as Background for a PDF-File with iText7
问题描述
您好,我在iText 5上做了大量工作,并且对iText 7还是很陌生. 我试图弄清楚如何使用PDF文件将其作为模板放置到新的PDF文档中.
Hello I worked a lot with iText 5 and am very new to iText 7. I try to figure out how I can use a PDF-File to put it as a Template to my new PDF-Document.
目标是生成一个Letter,其中该布局由位于文本下方的静态PDF文件提供. 在iText5中,我使用了:
The goal is to generate a Letter, where the Layout is provieded by a static PDF-File lying under the text. In iText5 i used:
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.
I found a tutorial to add Images via PageEventHandler (IEventHandler) and PdfCanvas aboveCanvas = new PdfCanvas(page.newContentStreamAfter(), page.getResources(), pdfDoc); but the Canvas doesn't accept a PDFPage.
有没有人提示如何使用iText7做到这一点?
Has anyone a tip how to get this done with iText7?
非常感谢您的帮助! 你的辛苦
Tanks a lot for your help! Yours Toking
推荐答案
感谢Samuel,您对XObject的提示非常有帮助.
Thanks to Samuel, your hint with the XObject was very helpful.
使用以下代码,我可以将PDF页面显示为背景.
With the following code I was able to show a PDF-Page as a background.
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();
}
}
这篇关于如何使用iText7为PDF文件添加完整的PDF页面作为背景的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!