我试图在PdfPCell内画一个圆。我已经看到了有关如何执行此操作的示例,并且可以在纸上的任意位置绘制一个圆圈。但是,所有这些示例都使用固定的坐标和圆半径。

我想要的是将圆圈放在单元格内,并使它与单元格一样大。我正在使用此代码:

PdfPCell cell = new PdfPCell();
cell.setPhrase(new Phrase("A"));
table.addCell(cell);

canvas.circle(cell.getLeft(), cell.getBottom(), cell.getWidth() / 2f);
canvas.stroke();


但是,cell.getLeft()cell.getBottom()cell.getWidth()都始终返回0。

如何获取单元格在页面中的位置?

最佳答案

您需要实现PdfPCellEvent(cell.setCellEvent(...)),然后public void cellLayout(PdfPCell cell, Rectangle rect, PdfContentByte[] canvas)为您提供当前单元格的确切坐标。

09-11 18:08