近日使用itext操作pdf,遇到了众多布局问题,基本都一一解决,但惟有这个table的加入十分棘手,请各位了解itext的高手帮帮忙。默认的table加入以后是根据开始设置的页面尺寸自动分页的,这点确实不错,但现在我要在每页的结尾加入部分其它的内容,因此就要使table提前结束,然后在下页继续输出剩余的,如此直至输出完毕。
另外,找了很多加入table的方式,好像只能用document.add(table);添加,但其它的又是用PdfContentByte对象添加进PDF的,因此我要在table输出完毕后,紧随其后输出其它的内容就很不好控制位置,有否其它的好的布局方式。各位大虾请不吝赐教,有一点解决问题的建议小弟都将感激不尽。

解决方案 »

  1.   

    或者换个思路,谁知道用itext怎么使设置的背景层能在整个document中生效,就是说每次document.newpage()后,生成的新页会自动沿用上前面的背景
      

  2.   

    为什么不在document.newpage()的时候再设置一遍。itext没用过。
      

  3.   


    问题是table的换页是itext封装好了的,完全自动的,不是我调用的document.newpage()方法使其换页的,所以没办法控制
      

  4.   

    侦听当前行的坐标。当到一个值的时候就newPage()一下即可。
      

  5.   

    你的类继承自pdfpageeventhelper
    然后重写onpageend,
    PdfContentByte cb = writer.getDirectContent();
    cb.beginText();
    cb.setFontAndsize(...,...);
    cb.setTextMatrix(document.left(),document.bottom()-15);//zhe shu zi ji tiao tiao
    cb.showText("aaaa");
    cb.endText()
    不是很明白你的具体要求,这个方法可以加入如续下页等内容.你试试.
      

  6.   

    我的想法:
    1.可以用 document.setFooter(footer);
      在footer,里面添加你要的东西,
      

  7.   

    我的想法: 
    1.可以用 document.setFooter(footer); 
      在footer,里面添加你要的东西, 在每次要添加的时候 重新document.setFooter(footer);  
    2.就是用document.newPage()提前结束你的页面。                       
      

  8.   

    itext  正在让我头疼,不知道该怎么入门,现在就是知道了生成pdf 的五个基本步骤,但是自己不知道该怎么让它升级做更复杂的事。我们现在就是做个报表,里面要求导出pdf