【问题标题】:iText 7 table's bottom border not being drawniText 7表格的底部边框未绘制
【发布时间】:2019-08-20 10:40:44
【问题描述】:

我正在使用 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);
    }

【问题讨论】:

    标签: c# wpf itext itext7


    【解决方案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 支持的表开始)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-27
      • 2012-06-04
      • 2020-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      相关资源
      最近更新 更多