2012-12-15 26 views
0

我可以知道如何設置作爲事件插入到Pdf表中的數量嗎?我需要項目數量以頁面形式獲取總數並顯示在頁面底部。但是我現在所做的是在SQL執行過程中設置數據將直接插入到表中的數量。表完成後,添加到文檔中。因此,儘管我嘗試使用onEndPage()按頁面打印總數,但我得到了該項目的全部金額,而不是頁面事件。我想在模板上創建表格,但我不知道如何將表格插入模板以及如何檢索行號。如何使用itext將表中的數量設置爲事件?

回答

0

您需要一個TotalAmount對象和兩個不同的單元格事件。

TotalAmount對象應具有一個變量(例如amount)和兩個或三個方法:addAmount()getAmount()resetAmount()

創建第一種類型的單元格事件,其中TotalAmount對象和數量爲作爲參數。將的數量添加到TotalAmount佈局()方法中。此方法將在繪製身體細胞時觸發。

TotalAmount對象作爲參數創建第二種單元格事件。將此單元格事件用於空的頁腳單元格。使用getAmount()返回的值在layout()方法中繪製該值。如果頁腳中顯示的總數不是累積的,則使用resetAmount()方法。

當您創建表格時,表格對象不知道paginatin。事件僅在繪製單元格時觸發,而不是在創建表格的那一刻觸發。這就是爲什麼您無法在創建表格時添加金額的原因。

+0

謝謝@bruno。我曾嘗試使用cellEvent創建表格,但隨後整個數據僅顯示在1頁上。我只嘗試獲取金額,但數據未顯示。我試圖理解你的例子,如Calendar和RunLengthEvent,但我無法做到。我想爲頁碼實現相同的方法,但我無法估計將顯示在每個頁面上的項目數量,因爲某些項目可能具有較長的描述。另外,我無法獲得項目數量和金額。 – sar

+0

你研究過這些例子,但你讀過這本書嗎?沒有任何額外的解釋可能很難理解這些例子。你不需要知道每頁上顯示的項目數量。這就是我描述的解決方案的美妙之處。如果你不理解,我很抱歉。我可以幫助你的唯一方式就是給你寫一個例子,但那不是關於什麼的,是嗎? –

+0

到目前爲止,這是我設法獲得的輸出,[link](https://docs.google.com/open?id=0B08QoW0a6qyLZ3VsOXdURXl2dzA)。唯一剩下的就是拿到小計。我會盡我所能解決問題。如果不是,我會盡力再次聯繫你。我設置了使用table.setSkipFirstHeader(true)跳過標題「Sub Total Carried Forward」;但它仍然顯示該行。但頁腳正在工作......再次感謝:) – sar

相關問題