1

使用 iText 时,我发现了两个我无法解释的片段之间的差异。

片段一:

    PdfPCell cell = new PdfPCell();
    cell.addElement(new Paragraph("a", SOME_FONT));
    cell.addElement(new Paragraph("b", SOME_FONT));
    cell.addElement(new Paragraph("c", SOME_FONT));
    /*
       outputs: 
               a
               b
               c
    */

片段 B:

    PdfPCell cell = new PdfPCell(new Paragraph("a", SOME_FONT));
    cell.addElement(new Paragraph("b", SOME_FONT));
    cell.addElement(new Paragraph("c", SOME_FONT));
    /*
       outputs: 

               b
               c
    */

差异从何而来?之后两个单元格都添加到 PdfPTable 中。谢谢您的帮助。

问候,人

4

1 回答 1

1

在第一个片段中,您使用PdfPCell的是复合模式。在第二个片段中,您从text mode开始,然后切换到复合模式(通过使用addElement()而不是addText()方法触发)。当从文本模式切换到复合模式时,之前存储在列中的所有文本都将被丢弃。

谷歌文本模式复合模式,你会发现更多细节。

于 2013-10-15T05:56:35.553 回答