iTextSharp表溢出包装

时间:2013-03-21 15:56:20

标签: c# itextsharp

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

这就是我所说的:

Screenshot

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

1 个答案:

答案 0 :(得分:0)

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中看到此功能,如果确实存在,我会非常惊讶。