ITextSharp如何将Rectangle params传递给方法来设置边框

时间:2014-11-26 21:43:13

标签: c# itext

我在SO(how to set width for pdfpcell)上找到一个示例,用于推断将一个单元格添加到PdfPTable中的方法我创建了一个设置除了cell.Border的Rectangle值之外的所有参数的方法。如何修复我的方法,以便传入我需要的任何Rectangle值?

Rectangle是从ITextSharp中的Element,IElement派生的对象。

潜在的矩形值是:

  

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

示例:cell.Border = 1 | 2 | 8;或cell.Border = Rectangle.TOP_BORDER | Rectangle.RIGHT_BORDER;

让我感到兴奋的是' |'必须在值和cell之间.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);
 }

1 个答案:

答案 0 :(得分:0)

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