在iText中,如何设置右列表格单元格的行距?

Dav*_*lté 4 java itext

我需要画一张这样的桌子。

---------------
|  A   |   C  |
|------|      |
|  B   |      |
---------------      
Run Code Online (Sandbox Code Playgroud)

下面的代码不起作用。它创建一个包含单行的表格,而不绘制“C”单元格:

PdfPTable table = new PdfPTable(2);
table.addCell("A");
table.addCell("B");
PdfPCell cell = new PdfPCell(new Phrase("C"));
cell.setRowspan(2);
table.addCell(cell);
Run Code Online (Sandbox Code Playgroud)

绘制相反的表格(左侧的行跨越单元格)效果很好。

我在这里注意到了一个类似的问题,但上下文不同(我不是在开发国际应用程序),所以我想我可以再次重新表述这个问题。

Chr*_*aas 5

表格总是从左到右、从上到下绘制,因此您需要添加A、thenC和finally B

PdfPTable table = new PdfPTable(2);
table.addCell("A");
PdfPCell cell = new PdfPCell(new Phrase("C"));
cell.setRowspan(2);
table.addCell(cell);
table.addCell("B");
Run Code Online (Sandbox Code Playgroud)

iText 要求考虑表中的所有单元格。如果缺少任何单元格,它将跳过整行。您的原始代码添加A到 R1C1,然后B添加到 R1C2,然后创建一个新行并向其中添加一个单元格,因为它是一个寡妇,所以它被修剪掉了。