我正在生成一个两列表。当文本太长时,它不会包装到下一个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);
答案 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中看到此功能,如果确实存在,我会非常惊讶。