如何在java中的现有PDF中添加空白页?

如何在java中的现有PDF中添加空白页?,java,itext,Java,Itext,我有一个普通的PDF文件,我想使用itext库在PDF文件的末尾插入空白页,而不会干扰PDF内容。我搜索了答案,找到了类似的内容,但不知道它是否有效 public static void main(String[] args) throws IOException, DocumentException { // step 1 Document document = new Document(); // step 2 PdfWrite

我有一个普通的PDF文件,我想使用
itext库
在PDF文件的末尾插入空白页,而不会干扰PDF内容。

我搜索了答案,找到了类似的内容,但不知道它是否有效

public static void main(String[] args) throws IOException, DocumentException {
        // step 1
        Document document = new Document();
        // step 2
        PdfWriter writer
            = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        // step 3
        document.open();
        // step 4
        document.add(new Paragraph("This page will NOT be followed by a blank page!"));
        document.newPage();
        // we don't add anything to this page: newPage() will be ignored
        document.newPage();
        document.add(new Paragraph("This page will be followed by a blank page!"));
        document.newPage();
        writer.setPageEmpty(false);
        document.newPage();
        document.add(new Paragraph("The previous page was a blank page!"));
        // step 5
        document.close();

    }

Dinup Kandel的答案是错误的,因为它是关于从头开始创建文档的

NK123的回答是非常错误的,因为它使用
PdfWriter
/
PdfImportedPage
连接文档。该示例假定原始文档中的所有页面大小均为A4。情况并非总是如此。正如文献记载的那样,这也抛弃了所有的交互性

唯一好的答案如下所示:

PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
stamper.insertPage(reader.getNumberOfPages() + 1, reader.getPageSizeWithRotation(1));
stamper.close();
reader.close();

如果
src
引用了一个有10页的文档,上面的代码将添加一个额外的空白第11页,使用与第一页相同的页面大小。

我有这个。这个代码对您不起作用吗。否:(此示例创建新pdf。并干扰现有内容。您可能必须创建一个新pdf->>将旧pdf的内容复制到其中->>在末尾添加新页面->>使用相同的名称保存新pdf。好的,您希望我复制粘贴所有内容,您不认为大文件需要花费太多时间。?您尝试了什么?您尝试导入pdf了吗一页一页地,在需要时插入空白页,然后将所有内容重新缝合在一起?我已经尝试过了,但我想在不干扰现有内容的情况下在exist PDF中插入页面。你说的“干扰内容”是什么意思?请试着拼写正确,它是iText,不是
iText库
,也不是
iText库
:)假设我有“10”在我的PDF中,我想在其中再添加“1”。添加页面后变为“11”像怀斯一样,我在寻找这个。这不是一个好的态度。这意味着你不愿意为自己学习一些东西,而是指望别人来帮助你。一个真正的大师通过向学生提问而不是回答他们的问题来教学生。这种智慧可以追溯到苏格拉底时代。我担心如果我继续回答问题,我就不是一个真正的大师问题。这可能吗?我不知道,但想从你这边确认一下?我对mkl的答案投了赞成票。你试图做一些使签名无效的事情。是的。这就是我想从美国得到的。感谢你的支持。非常感谢你的itext库。如果你愿意,欢迎你查看。(将此资源移至评论)。