好像PDfPCell
类确实有一个border属性而不是PdfPTable
类。
PdfPTable
类是否有一些属性可以在一个语句中设置所有包含单元格的边界?
答案 0 :(得分:3)
边界定义在单元格的级别,而不是在表格的级别。因此:如果要删除表格的边框,则需要删除每个单元格的边框。
默认情况下,每个单元格都有一个边框。您可以通过更改每个单元格的边框来更改此默认行为。例如:如果您创建PdfPCell
个对象,则使用:
cell.setBorder(Rectangle.NO_BORDER);
如果在内部创建单元格,则需要在默认单元格的级别更改该属性。见What is the PdfPTable.DefaultCell property used for?
table.getDefaultCell().setBorder(Rectangle.NO_BORDER);
对于特殊边框,例如带圆角的边框或整个表格的单边框,或双边框,您可以使用单元格事件或表格事件,或两者的组合。在我的书" iText in Action - Second Edition"的第5章中,您将找到a PDF with double borders。请参阅PressPreviews示例,了解如何完成此操作。请注意,本书中的所有示例都移植到C#。您可以找到these examples here。
官方网站还提供了边框are dotted lines,have rounded corners等示例。
答案 1 :(得分:3)
iTextSharp没有setBorder()方法。
我尝试了以下内容:
cell.HasBorder(Rectangle.NO_BORDER); // <= this did nothing
cell.BorderColor = BaseColor.WHITE; // <= this works for me, but if your document's background is not white, you might not like it
cell.BorderWidth = 0; // <= this works like gangbusters
所以看起来最安全&#34;要走的路是将BorderWidth设置为zilch AKA nada。
答案 2 :(得分:2)
以下对我有用。
cell.Border = Rectangle.NO_BORDER;