c# - 带有 iTextSharp 的 Rowspan 无法正常工作

标签 c# itext html-table

我正在尝试使用 iTextSharp 创建一个简单的表格,所以使用 C#。目标是像这样的表格:

问题是,如果我在单元格 A 上应用 rowspan 作为 2,iTextSharp 不会呈现 rowspanned 单元格,这意味着该单元格具有与单元格 B 相同的高度。这是代码:

    PdfPTable corporateTable = new PdfPTable(2);
    corporateTable.HeaderRows = 1;
    corporateTable.TotalWidth = pdfWidth - 50;

    PdfPCell vCell = new PdfPCell();
    vCell.Border = Rectangle.BOX;
    vCell.Rowspan = 2;
    vCell.Phrase = new Phrase("A", new Font(fontLh, 7f, 1, BaseColor.BLACK));
    corporateTable.CompleteRow();
    corporateTable.AddCell(vCell);


    PdfPCell vCellx = new PdfPCell();
    vCellx.Phrase = new Phrase("B", new Font(fontLh, 7f, 1, BaseColor.BLACK));
    vCellx.Colspan = 3;
    corporateTable.AddCell(vCellx);

    PdfPCell vCell1 = new PdfPCell();
    vCell1.Phrase = new Phrase("C", new Font(fontValue, 7f, 0, BaseColor.BLACK));
    corporateTable.AddCell(vCell1);

    corporateTable.WriteSelectedRows(0, -1, 100f, 100f, writer.DirectContent);
    document.Close();

怎么了?我正在使用最新版本的 dll。

最佳答案

嗯,基本答案是:有效!如果您再添加两个单元格,您会看到一个单元格(A 下方的那个)未填充。

但这不是您所期望的(顺便说一句,我也没有)。要实现您想要的,请使用嵌套表,这意味着:

  • 创建一个包含两个列的表
  • 将单元格A插入表格
  • 创建单元格 2
  • 再创建一个包含 1 个列的表格
    • 将单元格 B 插入表 2
    • 将单元格 c 插入表 2
  • 将表 2 插入单元格 2

搜索 itext rowspan,您将找到多个完整键入的示例。

第一个

马里奥

关于c# - 带有 iTextSharp 的 Rowspan 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3931480/

相关文章:

java - 如何在带有 iText 的多行 AcroFields 中使用制表符?

jquery - 按类别隐藏多个表行

c# - 在 ASP.NET MVC 中单击按钮时呈现局部 View

c# - Visual Studio 2012/C# 中断代码执行,未设置断点

c# - LINQ-to-SQL 在动态列上搜索?

php - 使用 PHP 减少 HTML 输出中的间距

html - 表格内的复选框列表 td 在 IE7 中将文本分成下一行

c# - 如何: Select Distinct objects<T> from multiple Lists<T> with 1 or more properties of same type

java - 使用 iText pdfHTML 的 PDF 页面大小和格式

java - float 属性在 HtmlWorker(iText) 中不起作用