0

我正在使用 OpenPDF 生成文档。

在本文档中,我希望对某些元素进行分组,以免它们在单独的页面上被拆分。在我的例子中,它由一个由 2 行包围的段落组成,1 上,1 下。

我尝试将它们分组到 Paragraph 元素中并使用 keepTogether 属性,但是这些行没有显示:

    for (final String line : lines) {
        Paragraph para = new Paragraph(line, font);
        para.setSpacingAfter(20);
        doc.add(para);
        para.add(new LineSeparator());
        para.add(0, new LineSeparator());
        para.setKeepTogether(true);
    }

有什么办法可以让我一直把它们放在一起吗?还是有更好的建议?

信息

  • 语言:Java
  • java版本:openjdk 8
  • OpenPDF版本:1.3.17
4

1 回答 1

0

我使用表格作为解决方法,如下所示:

    PdfPTable table = new PdfPTable(1);
    table.setTotalWidth(527);
    table.setLockedWidth(true);

    for (final String line : lines) {
        PdfPCell cell = new PdfPCell(new Phrase(line, font));
        cell.setBorder(Rectangle.BOTTOM | Rectangle.TOP);
        cell.setPaddingBottom(20);
        cell.setPaddingTop(20);
        table.addCell(cell);
    }

    doc.add(table);
于 2020-05-24T11:34:33.867 回答