【问题标题】:iTextSharp table overflow wrappingiTextSharp 表格溢出换行
【发布时间】:2013-03-21 15:56:19
【问题描述】:

我正在生成一个两列表。当文本太长时,它不会换行到下一个 COLUMN,而是继续到下一页。为什么文本溢出时不换行到同一页的下一列?

这就是我所说的:

string[] stringList = new string[] {"long string 1", "long string 2"};

Document doc = new Document(PageSize.LETTER);
Paragraph paragraph = new Paragraph();
PdfPTable table = new PdfPTable(2);
table.WidthPercentage = 100;
table.SplitLate = false;
foreach (var item in stringList) {
    paragraph.Add(item);
}

PdfPCell cell = new PdfPCell(paragraph);
cell.Colspan = 1;
table.AddCell(cell);
paragraph = new Paragraph();
doc.Add(table);

【问题讨论】:

    标签: c# itextsharp


    【解决方案1】:

    iTextSharp 表格的行为方式与 HTML 或 Excel 表格的行为方式相同。 “列 a”中的单元格将始终保留在该列中,它永远不会溢出到另一列中。想象一个像下面这样的 3 行 2 列的表格,想象一个单元格是否会溢出到另一列:

    | Name   | Salary  |
    -------------------
    | Alice  | 5,000   |
    | Bob    | 50,000, |
    | 000    | Charlie |
    | 10,000
    

    相反,HTML、Excel、iTextSharp 和大多数表格软件会做这样的事情:

    | Name   | Salary  |
    -------------------
    | Alice  | 5,000   |
    | Bob    | 50,000, |
    |        | 000     |
    | Charlie| 10,000  |
    

    此方法保留了表格数据的意图。 Adobe InDesign 等程序确实允许您手动指定溢出,但我从未在 iTextSharp 中看到过此功能,如果它确实存在,我会感到非常惊讶。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多