iText 7 table 的底部边框未绘制

iText 7 table's bottom border not being drawn

我正在使用 iText 7 在 PDF 文件中创建 table。我已成功创建 table,但未绘制 table 的底部边框。

结果截图:

我的代码:

 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);
    }

您明确创建了 TablelargeTable 支持设置为 true:

var table = new Table(1, true);

这允许将大的 tables 添加到 PDF 而无需将整个 table 结构同时驻留在内存中:您可以分段添加它并每次刷新所有聚合数据一会儿。

[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 支持的 table)。