2015-02-11 88 views
0

我在.net項目中使用itextsharp 5.5.3來生成PDF文件。我有一個帶有兩個單元格的PdfPTable(在一行中)。我在每個單元格中放置了另一個PdfPTable - 第一個是兩行,第二個是三行。較小的桌子的最後一排伸展以填充空間。我該如何讓小桌子不要拉伸並對齊它放置的單元格的底部?如何在不擴展內表的情況下嵌套表格?

+0

向我們展示你的代碼:你使用嵌套表構造函數'new PdfPCell(table)',或者你使用'PdfPCell.AddElement()'方法添加表。在StackOverflow上提出問題時顯示一些代碼是自定義的。 – 2015-02-11 07:49:28

回答

2

請看看下面的屏幕截圖:

Screen shot

該屏幕截圖是從NestedTables例子的結果採取的。

你所描述,當你添加表直接到另一個表(在屏幕截圖第一個表)時會發生什麼:

outerTable.addCell(innerTable); 

或者,也許你所描述的,當你添加表作爲一個參數發生了什麼一個PdfPCell(第二臺屏幕截圖)構造函數:

PdfPCell cell = new PdfPCell(innerTable); 
outerTable.addCell(cell); 

注意兩者的區別很微妙:當你直接添加內表外表時,默認的單元格的填充取進入acc 'mount。這個填充默認是2。當您將內部表格作爲參數傳遞以創建PdfPCell時,默認情況下單元格的填充爲0。

如果我正確理解你的問題,你想要在屏幕截圖中的第三個表中顯示的行爲。該表顯示了當您添加表到PdfPCell第一會發生什麼:

PdfPCell cell = new PdfPCell(); 
cell.addElement(innerTable); 
outerTable.addCell(cell); 

您可以垂直對齊的內表是這樣的:

cell.VerticalAlignment = Element.ALIGN_BOTTOM; 
+0

使用addElement方法解決了問題。非常感謝您的幫助。在使用itextsharp時,您的書籍,文檔和stackoverflow答案幫助了我很多。感謝您爲社區所做的一切。 – lng 2015-02-11 21:43:31

相關問題