【问题标题】:How to add blank pages in exist PDF in java? [closed]如何在java中的现有PDF中添加空白页? [关闭]
【发布时间】:2013-05-19 19:56:05
【问题描述】:

我有普通的 PDF 文件,我想使用itext LIBRARY 在 PDF 的末尾插入空白页,而不影响 PDF 内容。

【问题讨论】:

  • 你试过什么?您是否尝试过逐页导入 PDF,在需要时插入空白页,然后将所有内容重新拼接在一起?
  • 我已经尝试过itextpdf.com/examples/iia.php?id=99,但我想在现有 PDF 中插入页面而不影响现有内容。
  • “扰乱内容”是什么意思?
  • 请尝试拼写正确,它是 iText,不是ITEXT LIBRARY,也不是itext LIBRARY :)
  • 假设我的 PDF 中有“10”页,我想在其中再添加“1”。添加页面后变成“11”,就像我正在寻找这个一样。

标签: java itext


【解决方案1】:

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 页,使用与第一页相同的页面大小。

【讨论】:

  • 这种态度不好。这意味着你不愿意为自己学习一些东西,而是指望别人来帮助你。真正的大师通过向学生提问而不是通过回答问题来教学生。这种智慧可以追溯到苏格拉底时代。如果我继续回答问题,我担心我不是真正的大师。
  • stackoverflow.com/questions/16710439/… 这可能吗?我的事情没有,但想从你这边确认一下?
  • 我赞成 mkl 的回答。您正在尝试做一些使签名无效的事情。
  • 是的。这就是我想从你那里得到的。谢谢你的支持。非常感谢你的 itext 库。
  • 如果您愿意,欢迎关注Bruno's book。 (将此资源移至评论)。
【解决方案2】:

好吧,我已经搜索了答案并找到了类似的东西,但不知道它是否有效

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

    }

【讨论】:

  • 这段代码不适合你。
  • 否 :( 此示例创建新的 pdf。并干扰现有内容。
  • 您可能需要创建一个新的 Pdf ->> 将旧 Pdf 的内容复制到其中 ->> 在末尾添加新页面 ->> 以相同的名称保存新的 pdf。
  • 好的,你想让我复制粘贴所有内容,你不认为大文件需要很多时间。?
猜你喜欢
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
  • 2023-01-15
  • 2012-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-22
相关资源
最近更新 更多