我在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);
}
答案 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);
}