将矩形添加到pdfpcell itextsharp中

如何使用itextsharp将具有特定宽度,高度和背景颜色的矩形添加到PdfPCell中?

像这样的东西:

PdfPCell cell = new PdfPCell(); Rectangle rectangle = new Rectangle(); rectangle.Width = 50f; rectangle.BackgroundColor = BaseColor.RED; cell.AddElement(cell); 

简单的答案是:将Rectangle绘制为Form XObject( PdfTemplate ),将其包装在Image对象中,然后将该图像添加到表中。

但是:有几种方法可以做到这一点,并且可能只有一种方法可以产生所需的输出。 这就是为什么我给你做了一个例子: rectangle_in_cell.pdf

仔细看看这篇PDF。 在上边缘,您会看到一条长度为120 pt的线。 在不同的表格中,您会看到三个矩形被创建为120 x 80 pt的矩形。 只有一个矩形似乎具有正确的大小。

将对象添加到表时,iText通常会调整内容的大小以使其适合单元格。 RectangleInCell示例显示了三种方法之间的代码差异。 它是用Java编写的,但我相信你能够将它改编成C#。