java使用iText生成word文档插入表格时border颜色不对问题解决方案,itextborder,使用如下代码插入表格会出
分享于 点击 35714 次 点评:48
java使用iText生成word文档插入表格时border颜色不对问题解决方案,itextborder,使用如下代码插入表格会出
使用如下代码插入表格会出现颜色不对的问题:
OutputStream outputStream = response.getOutputStream();RtfWriter2 docWriter = RtfWriter2.getInstance(document, outputStream);document.open();Color lightGrey = new Color(0xCC,0xCC,0xCC);Table tableImgPie = new Table(1,1);tableImgPie.setBorderWidth(1);tableImgPie.setBorderColor(lightGrey);tableImgPie.setAlignment(Element.ALIGN_CENTER);tableImgPie.setWidth(100f);Cell imgCell = new Cell("abc");tableImgPie.addCell(imgCell);document.add(tableImgPie);docWriter.flush();document.close();
这样生成word文档中的表格颜色并非浅灰色,而是黑色,出现此问题的原因是table的border被其cell覆盖掉了,它的cell的默认颜色是黑色了。
知道了这一点解决问题的方法就很简单了,我们可以将table的边框颜色设置为0,只设置cell的颜色就可以了。
如下正确的代码:
OutputStream outputStream = response.getOutputStream();RtfWriter2 docWriter = RtfWriter2.getInstance(document, outputStream);document.open();Color lightGrey = new Color(0xCC,0xCC,0xCC);Table tableImgPie = new Table(1,1);tableImgPie.setAlignment(Element.ALIGN_CENTER);tableImgPie.setWidth(100f);Cell imgCell = new Cell("abc");imgCell.setBorderWidth(1);imgCell.setBorderColor(lightGrey);tableImgPie.addCell(imgCell);document.add(tableImgPie);docWriter.flush();document.close();
用户点评