我正在使用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);
}
答案 0 :(得分:1)
您将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
为支持的表)。