关于c#:Itextsharp“ RowSpan”丢失了吗? “行距没有定义”

Itextsharp “RowSpan” missing? “no definition for rowspan”

本问题已经有最佳答案,请猛点这里访问。

我正在使用iTextsharp生成表格并以pdf共振峰打印。
我可以使用colspan,但是当我尝试在PdfPCell上使用rowspan时,它无法识别它。 我得到"行距没有定义"

1
2
3
4
5
6
7
8
9
10
11
12
PdfPTable table = new PdfPTable(9);
            table.WidthPercentage = 90f;
            //set column widths
            int[] firstTablecellwidth = { 20, 10, 5, 5, 10, 10,10,10,10 };
            table.SetWidths(firstTablecellwidth);

            doc1.Add(p1);
            table.AddCell("Name :");
            PdfPCell cell = new PdfPCell(new Phrase("Star Diamonds"));
cell.Colspan = 8;///this works fine
cell.Rowspan = 4; //does not contain definition for rowspan
            table.AddCell(cell);


我记得当我编写" iText in Action"的第一版时,并未为PdfPTable定义Rowspan。我还记得Rowspan是我写那本书的第二版时定义的(实际上是重写)。

考虑到您声称"对Rowspan没有定义",合理的结论是您使用的是强大的iTextSharp旧版本。如果您要使用问题中的代码,建议您升级到iTextSharp 5.5.9,或者如果您只是从项目开始,则建议升级到iText 7 for C#。

如果您说您使用的是最新版本的iTextSharp,则您的主张与许多其他答案相矛盾:

  • 使用带有行距和列距的C#在asp.net中创建PDF
  • 如何在ASP.NET和C#中使用iTextSharp合并PDF中具有相同值的行?
  • pdfpCell.Rowspan在itextsharp中无法正常工作
  • iText(Sharp):具有标题和子标题的表
  • ...


请参阅此论坛问题,讨论不同的iTextSharp版本。它应该在最新的iTextsharp版本中工作。