【问题标题】:Itext : Add New line when element is added to new PageItext:将元素添加到新页面时添加新行
【发布时间】:2019-03-17 08:41:18
【问题描述】:

我正在使用代码向 itext pdf 添加一个元素:

((com.itextpdf.text.pdf.PdfPTable) element).setKeepTogether(true);
document.add(element);

其中一个元素文本有 2 页,因此它被添加到第二页。但是在第二页上,我想将前 2 行留空以添加标题。 有什么建议可以让新页面的 2 行空白吗?

【问题讨论】:

  • 您应该通过相应地设置页边距来为页眉留空区域。
  • @mkl 这就是我要问的?,我确实尝试过 ** document.top(1000); ** ,没有发现差异。
  • 使用document.setMargins(left, right, top, bottom) 并在生成相关页面之前执行此操作。而且1000太大了,一张A4页面的高度只有842个单位……
  • @mkl 1000 只是一个虚拟数字,无法显示实际代码或值。错误得到了很好的解决,而不是在方法 setMargins 中设置值,我使用它的构造函数来传递值,同时创建对象。感谢分配的帮助。

标签: java itext pdf-generation


【解决方案1】:

尝试添加段落:

document.add(new Paragraph("\n"));
document.add(new Paragraph("\n"));

【讨论】:

  • Eugen,如你所见,“document.add(element);”直接添加整个元素,由于元素包含两页文本,所以直接添加到2页。我知道 "document.add(new Paragraph("\n")); 和 document.add(Chunk.NEWLINE); ", ** 在这一点上,我不明白如何将新行添加到单个元素中。 **
【解决方案2】:

我找到了答案,而不是使用 Document document = new Document(); ,我使用了 Document document = new Document(PageSize.LETTER,30,30,60,35)

【讨论】:

    【解决方案3】:
    String S = "Your text here" + "\n" + "Hello"; //  *\n is to go for next line*
    PdfPCell insideTableCell = new PdfPCell(new Paragraph(S));
    *//this is using itextpdf, you can get a jar file or maven import*
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-13
      • 1970-01-01
      • 2018-07-20
      • 2013-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多