我在.net项目中使用itextsharp 5.5.3来生成PDF文件。我有一个带有两个单元格的PdfPTable(在一行中)。我在每个单元格中放置了另一个PdfPTable - 第一个有两行,第二个有三行。较小的表的最后一行伸展以填充空间。如何让较小的桌子不拉伸并对齐放置在其下方的单元格底部?
答案 0 :(得分:2)
请看下面的截图:
此屏幕截图取自NestedTables
示例的结果。
您正在描述将表格直接添加到另一个表格时的情况(屏幕截图中的第一个表格):
outerTable.addCell(innerTable);
或者您可能正在描述当您将表添加为PdfPCell
的构造函数(屏幕截图中的第二个表)的参数时会发生什么:
PdfPCell cell = new PdfPCell(innerTable);
outerTable.addCell(cell);
请注意,两者之间的差异很小:当您将内部表直接添加到外部表时,会考虑默认单元格的填充。此填充默认为2。将内部表作为参数传递以创建PdfPCell
时,单元格的填充默认为0。
如果我正确理解您的问题,您需要屏幕截图中第三个表格中显示的行为。该表显示了首先将表添加到PdfPCell
时会发生什么:
PdfPCell cell = new PdfPCell();
cell.addElement(innerTable);
outerTable.addCell(cell);
您可以像这样垂直对齐内部表:
cell.VerticalAlignment = Element.ALIGN_BOTTOM;