无法删除 Java itext 中的空白

Can't remove whiteSpace in Java itext

我在这里使用 Itext 包合并 2 个 pdf 文档。 使用以下代码成功完成合并

    Document document = new Document();
    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(); 

这里的list是一个InputStream List。 而outputStream是一个输出流

我遇到的问题是我想在添加第一个 PDF 后在列表中附加 PDFdocuments (即第一个 PDF 有 4 行......我希望第二个 PDF 在第 4 行之后在同一页中继续)。 我得到的是在第二页中添加了第二个 PDF。 document.newPage();

是否有替代关键字

谁能帮帮我。

谢谢希望听到任何回复:)

这取决于您的要求。只要

  • 您只对合并后的 PDF 的页面内容感兴趣,对页面注释不感兴趣
  • 页面没有内容,只有您提到的文本行,特别是没有背景图形、水印或 header/footer 行,

你可以使用

  • PdfDenseMergeTool 来自
  • PdfVeryDenseMergeTool 来自 .

如果您对注释感兴趣,相应地扩展那些 类 应该没问题。如果您的 PDDF 有背景图形或水印、页眉或页脚,应事先将其删除。