itext7 - 将现有 PDF 的内容添加到新的 PDF

itext7 - adding content from existing PDF to a new one

我正在尝试将一些内容添加到我的 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 引用已经存在的第一页而不是新的第一页,您的进一步操作会随即添加模板页面。