2012-11-05 87 views
0

我想在PdfPCell內畫一個圓圈。我已經看到了如何做到這一點的例子,並且我可以在紙上的任何地方繪製一個圓圈。但是,所有這些示例都使用固定座標和圓弧半徑。如何在iText中檢索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,始終。

如何獲取單元格在頁面中的位置?

回答

2

您需要實施PdfPCellEvent(cell.setCellEvent(...)),然後public void cellLayout(PdfPCell cell, Rectangle rect, PdfContentByte[] canvas)爲您提供當前單元格的精確座標。

+0

非常感謝!它工作完美。 對於任何尋找類似東西的人來說,看一看[這個來自iText的示例](http://itextpdf.com/examples/iia.php?id=94)以瞭解它是如何使用的。 – ilvidel