itext给PdfPTable单元格绘制圆角矩形
最近工作中用到了itext来绘制图形,里面需要用到圆角矩形,本来打算通过图片直接展示的,但是考虑到图片的样式调整耗时不一定比直接绘制省时,于是在网上搜了一下,用了itext自带的画笔进行绘制,废话不多说,直接上代码:
cell.setCellEvent((cell, position, canvases) -> {
// 获取单元格背景画布
PdfContentByte cb = canvases[PdfPTable.BACKGROUNDCANVAS];
// 保存前面的状态
cb.saveState();
// 设置边框为0
cb.setLineWidth(0f);
// 绘制原型矩阵样式
cb.roundRectangle(position.getLeft() + 2.4f, position.getBottom() + 2f, position.getWidth() - 4,
position.getHeight() - 1.5f,
2f);
// 填充画笔颜色
cb.setColorStroke(BaseColor.BLACK);
cb.setColorFill(BaseColor.BLACK);
cb.fill();
// 绘制
cb.stroke();
// 重置画笔状态,如果不重置,则后面的单元格会受到影响
cb.restoreState();
});
嗯,就这么简单哈哈,还有不明白的?度娘嘛