我已浏览过这个网站,但无法找到解决问题的相关方法。
这是我的问题 我正在使用iTextSharp创建一个PDF文件,并且正在创建该文件。我正在创建一个表并为其分配gridview数据,如下所示。
//Add Actual columns from the datatable
for (int j = 0; j < dt.Columns.Count; j++) {
PdfPCell cellHeader = new PdfPCell(FormatHeaderPhrase(dt.Columns[j].ColumnName.ToString()));
cellHeader.HorizontalAlignment = 1;
table3.AddCell(cellHeader);// adds the header with proeprties
}
//Add the actual rows from the datatable
for (int i = 0; i < dt.Rows.Count; i++) {
for (int k = 0; k < dt.Columns.Count; k++) {
PdfPCell cellRows = new PdfPCell(FormatPhrase(dt.Rows[i][k].ToString().Replace("<br/>","\n").Replace("<sup>","")));
if (k != 2) {
cellRows.HorizontalAlignment = 1;
cellRows.VerticalAlignment = Element.ALIGN_MIDDLE;
}
else {
cellRows.HorizontalAlignment = 0;
}
table3.AddCell(cellRows);
table3.SplitRows = true;
table3.SplitLate = true;
}
}
我有A3页面大小。这里的问题是,当表中的数据超出页面大小时,它会修剪超出的部分,只显示适合一页的数据。如何根据表的内容进行多页(自动分页)。目前我看到的数据符合pdf的一页。它应该生成多个页面。我怎样才能做到这一点。
请告诉我您的意见。我很感激他们。谢谢。
答案 0 :(得分:0)
这可能有用,尝试在每n行后创建新页面,假设当前页面只适合 10行,每10条记录后创建新页面
假设您创建了一个初始文档实例
Document document =new Document(PageSize.A4);
在n行之后,通过调用
添加新页面
document.NewPage();