[英]iText7 and C#, put a filled shape in a table cell
我正在嘗試在使用 iText7 和 C# 創建的表格單元格中添加一個帶有圓角邊框的矩形。
我嘗試使用
table.AddCell(new Cell().Add(rect)
我在哪里創建了rect
Rectangle boundingBox = new Rectangle(20, 470, 30, 30);
PdfFormXObject xObject = new PdfFormXObject(boundingBox);
xObject.MakeIndirect(pdfDoc); //Make sure the XObject gets added to the document
PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());
Color greenColor = new DeviceCmyk(100, 30, 100, 0);
canvas.SetFillColor(greenColor);
canvas.Rectangle(294, 780, 50, 35);
canvas.FillStroke();
Image rect = new Image(xObject);
我的一個朋友建議,但我認為這是錯誤的方法,我什至不太確定這段代碼的作用。 另外,矩形是透明的,有很大的邊距,並且單元格中的字體現在也是綠色的(在插入矩形之前是黑色的)。
這是它的樣子(我故意將正方形放高一點以顯示透明度):
我想要做的是創建一個綠色形狀的矩形,環繞邊框,然后將其放入單元格中。
它應該是這樣的:
有沒有好的方法可以做到這一點?
您可以創建一個塊級布局對象 ( Div
) 並為其設置所有必要的視覺屬性。 沒有必要執行自定義繪圖操作。 這是代碼示例(在 Java 中,但轉換為 C# 歸結為將方法名稱大寫):
Div rectangle = new Div()
.setHeight(30)
.setWidth(30)
.setBackgroundColor(ColorConstants.GREEN)
.setBorderRadius(new BorderRadius(5))
.setBorder(new SolidBorder(ColorConstants.GREEN, 1));
table.addCell(new Cell().add(rectangle));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.