【问题标题】:Combining two PDF's in itext在 itext 中组合两个 PDF
【发布时间】:2013-09-02 16:09:47
【问题描述】:

我有两个包含 PDF 文件的 ByteArrayOutputStream。 我使用了 java concatinate 操作,但它失败了。 我想在第一个 pdf 之后添加第二个 pdf。

是否有任何 Itext 函数可以使用流合并两个 Pdf?

【问题讨论】:

标签: java pdf pdf-generation itext


【解决方案1】:

终于找到了..这个对我有用

Document document = new Document();
        //Rectangle pageSize = new  Rectangle(792, 612);
        Rectangle pageSize = PageSize._11X17;
        document.setPageSize(pageSize);
        PdfWriter writer = PdfWriter.getInstance(document, outputStream);
        document.open();
        PdfContentByte cb = writer.getDirectContent();

        for (InputStream in : list) {
            PdfReader reader = new PdfReader(in);
            for (int i = 1; i <= reader.getNumberOfPages(); i++) {
                document.newPage();
                //import the page from source pdf
                PdfImportedPage page = writer.getImportedPage(reader, i);
                //add the page to the destination pdf
                cb.addTemplate(page, 0, 0);
            }
        }

        outputStream.flush();
        document.close();
        outputStream.close();

【讨论】:

  • 在这里使用实际的PdfWriter 实例通常不是最佳的。 PdfCopyPdfSmartCopy 实例很可能更适合您的需求。
猜你喜欢
  • 2011-02-16
  • 2015-08-17
  • 2019-01-03
  • 2019-03-28
  • 2012-04-23
  • 1970-01-01
  • 2019-10-30
  • 2016-04-07
  • 2015-03-22
相关资源
最近更新 更多