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

时间:2013-05-24 08:59:14

标签: java itext

我有普通的PDF文件,我希望使用itext LIBRARY在PDF末尾插入空白页,而不会打扰PDF内容。

2 个答案:

答案 0 :(得分:12)

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页。

答案 1 :(得分:0)

我已经搜索了答案并找到了类似的东西,但不知道它是否会起作用

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();

    }