gpt4 book ai didi

c# - 如何在 iTextSharp 中同时显示单元格的底部和顶部边框?

转载 作者:行者123 更新时间:2023-11-30 19:05:20 24 4
gpt4 key购买 nike

我是 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);

s 你可以看到一个新的单元格被添加到表中创建它传递给它本身必须显示的字符串并在传递一些图形设置之后。

例如:

table.AddCell(new PdfPCell(new Phrase("Description:")) { Border = PdfPCell.BOTTOM_BORDER, Padding = 5, MinimumHeight = 50, PaddingTop = 15 });

它添加一个新单元格,显示字符串 Description 并应用 {...} block 中的图形设置。

我的第一个疑问是:这个语法到底是什么?它是 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

所以 PdfCell 类本身就是一个 RectangleBOTTOM_BORDER 属性属于 Rectangle 类,实际上在这里我有

public const int BOTTOM_BORDER = 2;

好吧...所以我认为这样做:

Border = PdfPCell.BOTTOM_BORDER 与执行的操作相同:Border = 2 为我的单元格设置特定类型的边框。对吗?

疑惑是:为什么我要传给PdfPCell类(也就是一个Rectangle)来设置边框,而不直接在Rectangle上设置?

我还有以下问题:通过 Border = PdfPCell.BOTTOM_BORDER 我只显示单元格的底部边框,我该怎么做才能显示单元格的底部和上部边框?

谢谢

最佳答案

它很可能是基于标志的。

试一试:

Border = PdfPCell.BOTTOM_BORDER | PdfPCell.TOP_BORDER

关于c# - 如何在 iTextSharp 中同时显示单元格的底部和顶部边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22916544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com