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