Java 在iText pdf中添加段落元素将转到下一页

Java 在iText pdf中添加段落元素将转到下一页,java,pdf-generation,itext,Java,Pdf Generation,Itext,下面是用于创建段落的代码。getName将从另一段代码中获取HTML内容,该代码由HTML标记组成,这些标记将被删除并传递到单元格 PdfPTable table = new PdfPTable(new float[] {100}); table.setWidthPercentage(100); //This code takes the HTML and converts it to a list of iText objects //which can then be rendered o

下面是用于创建段落的代码。getName将从另一段代码中获取HTML内容,该代码由HTML标记组成,这些标记将被删除并传递到单元格

PdfPTable table = new PdfPTable(new float[] {100});
table.setWidthPercentage(100);

//This code takes the HTML and converts it to a list of iText objects
//which can then be rendered on PDF
StringReader stream = new StringReader(Utilities.parseForHTMLWorker(dpa.getName()));
PdfPCell dpaCell = makeBodyCell("");
try {
        ArrayList list = HTMLWorker.parseToList( stream, null);
        for( int i = 0; i < list.size(); i++ ) {
            Paragraph p = (Paragraph)list.get(i);
            dpaCell.addElement(p);
        }            
    } catch (IOException e) {
        Logger.Log("InitialInterviewDetailsPrint", "render()", e.toString(), 1);
        e.printStackTrace();
    }
table.addCell(dpaCell);
list变量获取段落的列表。这些段落足够大,至少有10个句子。即使页面底部有足够的空间容纳5行,所有内容也会移动到新页面。我不希望在页面底部留下空白,希望段落在两个页面中分割内容

是否需要在段落上设置任何特定属性才能将它们放在同一页上?

您必须使用setKeepTogether方法强制设置文本

如您所见:

您必须使用setKeepTogether方法来强制iText

如您所见:


内容本身已经在一起了。我希望它真的破裂。可能我需要更清楚地说,这段代码上面有更多的内容,这段代码在下一页添加了内容,因为它没有足够的空间容纳。它不想把自己弄坏,把内容分成两页。我将在上面的问题中做一些修改,使之更清楚。如果你想把它们分成不同的单元,并分别管理它…它的随机内容和来自解析器。所以打破它们不是在我的控制之下我没有得到你想要做的;你能编辑你的问题并更详细地解释你的输入和你的需求吗?内容已经在一起了。我希望它真的破裂。可能我需要更清楚地说,这段代码上面有更多的内容,这段代码在下一页添加了内容,因为它没有足够的空间容纳。它不想把自己弄坏,把内容分成两页。我将在上面的问题中做一些修改,使之更清楚。如果你想把它们分成不同的单元,并分别管理它…它的随机内容和来自解析器。所以打破它们不是在我的控制之下我没有得到你想要做的;你能编辑你的问题并更详细地解释你的输入和你的需求吗??
Paragraph paragraph = new Paragraph("");
paragraph.setKeepTogether(false);
PdfPTable table = new PdfPTable(numberOfColumns);
table.setKeepTogether(false);
protected boolean keeptogether
//Does the paragraph has to be kept together on 1 page.