And*_*ili 2 .net c# asp.net itext itextsharp
我是iTextSharp(用于C#的iText移植)的新手,我对跟随情况感到疯狂.
在我正在处理的应用程序中,我有一个以这种方式定义的表:
table = new PdfPTable(2);
table.SetWidths(new int[] { 100, 500 });
//table.WidthPercentage = 95;
table.AddCell(new PdfPCell(new Phrase("Description:")) { Border = PdfPCell.BOTTOM_BORDER, Padding = 5, MinimumHeight = 50, PaddingTop = 15 });
table.AddCell(new PdfPCell(new Phrase(currentVuln.ShortSummary)) { Border = PdfPCell.BOTTOM_BORDER, Padding = 5, MinimumHeight = 50, PaddingTop = 15 });
_document.Add(table);
Run Code Online (Sandbox Code Playgroud)
你可以看到一个新的单元格被添加到表格中,创建它将传递给它的字符串传递给它,并在传递一些格式设置之后.
例如:
table.AddCell(new PdfPCell(new Phrase("Description:")) { Border = PdfPCell.BOTTOM_BORDER, Padding = 5, MinimumHeight = 50, PaddingTop = 15 });
Run Code Online (Sandbox Code Playgroud)
它添加一个新单元格,显示字符串描述,并应用{...}块中的图形设置.
我的第一个疑问是:这个语法究竟是什么?它是一个C#语法还是与iTextSharp相关的东西?
我正在疯狂地了解在应用此设置时究竟发生了什么,特别是在评估此部分时:Border = PdfPCell.BOTTOM_BORDER
1)Border是一个进入iTextSharp.text.Rectangle类的int值,取值为PdfPCell.BOTTOM_BORDER返回值
2)PdfCell是另一个进入iTextSharp.text.pdf命名空间的类,它不包含BOTTOM_BORDER属性,但是这个类以这种方式定义:
public class PdfPCell : Rectangle, IAccessibleElement
Run Code Online (Sandbox Code Playgroud)
所以PdfCell类本身就是一个Rectangle而BOTTOM_BORDER属性是Rectangle类,事实上我在这里
public const int BOTTOM_BORDER = 2;
Run Code Online (Sandbox Code Playgroud)
好的...所以我认为这样做:
Border = PdfPCell.BOTTOM_BORDER与此相同:Border = 2,为我的单元格设置特定类型的边框.这样对吗?
疑问是:为什么我必须传递给PdfPCell类(即一个Rectangle)来设置边框而我不直接在Rectangle上设置它?
我还有以下问题:通过Border = PdfPCell.BOTTOM_BORDER我只显示一个单元格的底部边框,我该怎么做才能显示一个单元格的底部和上部bord?
TNX
TyC*_*obb 12
它很可能是以旗帜为基础的.
试一试:
Border = PdfPCell.BOTTOM_BORDER | PdfPCell.TOP_BORDER
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14107 次 |
| 最近记录: |