我正在使用ItextSharp創建一個包含多個PdfPTable的PDF文檔。我使用列表對多個PdfPTable進行分組,並且該列表在函數中創建並作爲列表返回。然後我列出並循環遍歷它以將每個PdfPTable添加到文檔中。使用ItextSharp PdfPTable,table.TotalHeight返回0.0,但期望浮動值爲正
如果列表中下一個PdfPTable大於文檔上剩餘空間,我想添加一個新頁面。
使用斷點,我注意到「table.TotalHeight」總是返回0,當我期望它返回一個正浮點值。我可能會誤解桌子的方式.TotalHeight的工作原理,但根據我的理解,它應該返回單個桌子的總高度。
for (count1 = 0; count1 < testQuote.Count + 1; count1++)
{
var list = BuildDetail(testQuote, count1);
foreach (PdfPTable table in list)
{
if (table.TotalHeight > (writer.GetVerticalPosition(false) - doc.BottomMargin))
{
doc.Add(new Paragraph("Quote continues on next page"));
doc.NewPage();
}
doc.Add(new Paragraph(" "));
doc.Add(table);
}
參見[長的帖子在這裏(HTTP://計算器.com/a/7601244/231316)中有關計算表格高度的方法。 –
有意義的是,表格需要在可以計算高度之前進行渲染。謝謝你的幫助。您的CalculatePdfPTableHeight()函數非常有用。發佈該代碼作爲您的互聯網點的答案! –