ITextSharp如何将矩形参数传递给设置边框的方法
本文关键字:设置 边框 方法 参数传递 ITextSharp | 更新日期: 2023-09-27 18:32:04
在SO(如何设置pdfpcell的宽度)上找到的示例之后,该示例用于将单元格添加到PdfPTable中,我创建了一个设置除单元格矩形值之外的所有参数的方法。边境。如何修复我的方法,以便我可以传入我需要的任何矩形值?
矩形是派生自 Element、IElement in ITextSharp 的对象。
可能的矩形值为:
Rectangle.LEFT_BORDER、Rectangle.TOP_BORDER、Rectangle.RIGHT_BORDER、Rectangle.BOTTOM_BORDER Rectangle.NO_BORDER
或者可以通过其数值访问:
BOTTOM_BORDER = 2, LEFT_BORDER = 4, NO_BORDER = 0, RIGHT_BORDER = 8, TOP_BORDER = 1
示例:单元格。边框 = 1 |2 |8;或单元格。边框 = Rectangle.TOP_BORDER |Rectangle.RIGHT_BORDER;
让我感到困惑的是必须在值和单元格之间的"|"。边框将不接受字符串;
这是方法:
private static void addCell(PdfPTable table, string phrase, int colspan, int height, Font font)
{
PdfPCell cell = new PdfPCell(new Phrase(phrase, font));
cell.Border = Rectangle.TOP_BORDER | Rectangle.BOTTOM_BORDER; ** need to set param here **
cell.BorderWidth = 1;
cell.Colspan = colspan;
cell.FixedHeight = height;
table.AddCell(cell);
}
我的问题的答案是将适当的值作为 int 传递到方法中。矩形值具有数值,调用将它们相加为一个数字,然后传递到方法中。这有一个特定的术语,但目前它逃脱了我。
addCell(tableName, "MyPhrase", 1, 1, MyFont, Rectangle.BOTTOM_BORDER | Rectangle.RIGHT_BORDER;
private static void addCell(PdfPTable table, string phrase, int colspan, int height, Font font, int border)
{
PdfPCell cell = new PdfPCell(new Phrase(phrase, font));
cell.Border = border;
cell.BorderWidth = 1;
cell.Colspan = colspan;
cell.FixedHeight = height;
table.AddCell(cell);
}