我正在使用 iText 7 在 PDF 文件中创建表格。我已成功创建表格,但未绘制表格的底部边框。
结果截图:
我的代码:
private void Convert()
{
String dest = "D:/addingTable.pdf";
var table = new Table(1, true);
Border b = new SolidBorder(ColorConstants.RED, 5);
table.SetBorder(b);
using (var writer = new PdfWriter(dest))
{
using (var pdf = new PdfDocument(writer))
{
var doc = new Document(pdf);
var name = new Paragraph("Hello World!").SetFontColor(ColorConstants.BLUE).SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER).SetFontSize(13);
table.AddCell(new Cell().Add(name));
doc.Add(table);
}
}
Process.Start(dest);
}
最佳答案
您显式创建 Table
并将 largeTable
支持设置为 true
:
var table = new Table(1, true);
这允许将大表添加到 PDF 而无需将整个表结构同时驻留在内存中:您可以分段添加它并每隔一段时间刷新所有聚合数据。
[add first few rows]
doc.Add(table);
[add next few rows]
table.Flush();
[add next few rows]
table.Flush();
...
[add final rows]
table.Complete();
在你的代码中你忘记了最后的
table.Complete();
(或者您根本不想创建具有 largeTable
支持的表)。
关于c# - 未绘制 iText 7 表格的底部边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57571822/