2010-12-13 38 views

回答

2

iText Image扩展矩形。你可以做一个新的图像实现。

您可以从模板创建图像,并且可以使用内容字节创建模板。

因此,您可以创建一个模板,在其上绘制一个矩形,创建图像,然后将图像设置在所需的单元格上。我在某段时间后做了类似矩形模式的事情。

编辑:如果您只需填满整个单元格,则可以使用setBackgroundsetBorder方法。

+0

非常感谢Jes。但是,请您举例说明如何制作矩形或方形,然后将其插入PdfPCell中?我使用表格制作表格,内部有一个必须由客户填写的性别字段。请帮助Jes。再次感谢。 – Lucas 2010-12-15 12:16:50

+0

首先,您需要使用'cb.createTemplate()'方法创建模板。现在你可以在该模板上绘制任何你想要的东西(因为模板是内容字节)。一旦你绘制出你需要的任何东西,你就可以从中创建一个迭代图像。有关如何绘制矩形的信息,请参阅http://www.java2s.com/Tutorial/Java/0419__PDF/Drawrectangle.htm。 – Jes 2010-12-22 01:53:20

0

PdfPCell有一个方法来设置图像PdfPCell#setImage(Image)。你不能用它吗?

+1

嗯我会试试看。但我真正想要的是将矩形形状插入单元格中,而不是图像。谢谢鲍里斯。 – Lucas 2010-12-13 13:11:52

8

由于谷歌没有给出一个完整的代码示例,所以我花了很多时间试图弄清楚如何做到这一点(即使Jes的解释现在看起来很清楚......)我想我会发布一个例子,以便进一步的寻求者可以有一个完整的代码示例。

PdfPTable table = new PdfPTable(1); 
table.setTotalWidth(450); 

PdfTemplate template = cb.createTemplate(30, 30); 
template .setLineWidth(0.5f); 
template .rectangle(0, 0, 17f, 17f); 
template .stroke(); 

Image img = Image.getInstance(template);   
Chunk chunk = new Chunk(img, 1f, 1f); 

PdfPCell cell = new PdfPCell(); 
cell.addElement(chunk); 
table.addCell(cell); 
+0

但是,如果矩形在笔画上出现边框效果,这会产生效果。有没有办法来防止这种情况? – Eterm 2015-02-20 13:56:21

相关问题