有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

OpenPDF java分组元素以保持在同一页面上

我正在使用OpenPDF生成一个文档

在本文档中,我希望对某些元素进行分组,以便它们不会在单独的页面上被拆分。 在我的例子中,这一段由两行组成,一行在上面,一行在下面

我尝试将它们分组到一个段落元素中,并使用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

共 (1) 个答案

  1. # 1 楼答案

    我用一张桌子作为解决办法,如下所示:

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