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);
 }

ITextSharp如何将矩形参数传递给设置边框的方法

我的问题的答案是将适当的值作为 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);
}