我正在尝试将 PDF 文档的一些内容添加到文档的第一页。这样做的适当方法是什么?
目前我的代码可以工作,但它在文档的第一页之前添加(插入)一个新页面。这里可以使用什么来代替
PdfPage page = pdf.addNewPage(1, PageSize.A4);
因此我正在阅读的文档中的内容将作为内容添加到现有的首页,而不是作为新页面
public static void addContentToFirstPage(String inputFilePath,String filePath) throws IOException, DocumentException {
File inFile = new File(inputFilePath);
File outFile = new File(inputFilePath + "_numbering.pdf");
PdfDocument pdf = new PdfDocument(new PdfReader(inFile), new PdfWriter(outFile));
PdfDocument origPdf = new PdfDocument(new PdfReader(filePath));
PdfPage origPage = origPdf.getPage(1);
Rectangle orig = origPage.getPageSize();
PdfPage page = pdf.addNewPage(1, PageSize.A4);
PdfCanvas canvas = new PdfCanvas(page);
AffineTransform transformationMatrix = AffineTransform.getScaleInstance(
page.getPageSize().getWidth() / orig.getWidth(),
page.getPageSize().getHeight() / orig.getHeight());
canvas.concatMatrix(transformationMatrix);
PdfFormXObject pageCopy = origPage.copyAsFormXObject(pdf);
canvas.addXObject(pageCopy, 0, 0);
pdf.close();
origPdf.close();
// delete old file,rename new to old file
inFile.delete();
outFile.renameTo(new File(inputFilePath));
}
最佳答案
要将模板页面 origPage
标记到 pdf
当前的第一页而不是新页面上,只需替换
PdfPage page = pdf.addNewPage(1, PageSize.A4);
由
PdfPage page = pdf.getPage(1);
现在page
引用已经存在的第一页而不是新的第一页,并且您的进一步操作会在其上添加模板页面。
关于java - itext7 - 将现有 PDF 中的内容添加到新 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48397057/