0
我是一個iText Java開發人員。我一直在用大桌子工作,現在我被困在垂直分割桌子的地方。iText java - 垂直和水平分割表格
在iText in Action的第119頁,尊敬的布魯諾·洛瓦吉(我對這個人非常尊重)解釋瞭如何拆分一張大表,以便列出現在兩個不同的頁面中。
我跟着他的例子,它在文檔有幾行時工作正常。
在我的情況下,我有100行,這意味着文檔需要在多個頁面中分割100行,同時垂直分割列。我如下運行我的代碼,但只顯示前34行。
能有人好心解釋什麼可能是錯誤的,此代碼:
//create a PDFPTable with 24 columns
PdfPTable tbl = new PdfPTable(new float{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1});
//loop through 100 rows
for (int i = 0; i < 100; i++) {
//insert 24 table cells
}
tbl.setTotalWidth(1500);//set table width
float top = document.top() - document.topMargin() - 30;
PdfContentByte canvas = writer.getDirectContent();
tbl.writeSelectedRows(0, 12, 0, -1, document.leftMargin(), top, canvas);
document.newPage();
// draw the remaining two columns on the next page
tbl.writeSelectedRows(12, -1, 0, -1, 5, top, canvas);
它完美的工作我的兄弟。這是被接受的答案。我已經在這一晚上睡了很多晚,現在我可以睡一覺了。在柏林一切順利,順便說一下,我們真的需要在肯尼亞Naiobi舉辦Java/iText會議。我希望你能來啓發非洲的年輕開發者。我會做到這一點。我怎樣才能親自寫信給你?如果我違反了Stackoverflow協議,我很抱歉。 – kobewarui
我飛遍世界各地去參加會議,但我還沒有去過非洲。聯繫我參加一個會議的最好方法是發郵件到[email protected]。這樣你就能比我更好地瞭解那些瞭解我的旅行/會議議程的人。 –
當然,我會寫信給你,很快兄弟。我很感激。 – kobewarui