如何动态增加矩形大小?

时间:2015-09-09 09:44:37

标签: c# pdf itextsharp

我编写了一个c#代码,它将生成一个pdf,它将包含一个矩形,在该矩形内部,我有一个从数据库动态增长的表。

现在发生的事情是我通过静态添加越来越多的行来增加表的大小(在数据库连接之后它将是动态的)。表格下方的数据因为添加行而增加了表格的高度 下面写的一些文字会消失并消失。

我想要什么? 我希望增加矩形的大小,以便它必须将数据发送到下一页并且(而不是消失它)。

我的RECTANGLE代码是:

/*Creating border using rectangle*/
PdfContentByte content = writer.DirectContent;
Rectangle rectangle = new Rectangle(doc.PageSize);
rectangle.Left += document.LeftMargin - 10;
rectangle.Right -= document.RightMargin;
rectangle.Top -= document.TopMargin ;
rectangle.Bottom += document.BottomMargin;
content.SetColorStroke(BaseColor.BLACK);
content.Rectangle(rectangle.Left, rectangle.Bottom, rectangle.Width, rectangle.Height);
content.Stroke();
  ColumnText ct = new ColumnText(content);
  ct.SetSimpleColumn(rectangle);

表的代码是:

PdfPTable table2 = new PdfPTable(8);
table2.WidthPercentage = 80;
float[] colWidths = { 110, 80, 80, 70, 70, 70, 70, 70 }; /*Set different column widths*/
table2.SetWidths(colWidths);
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("d");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("d");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("d");
...................
...................
ct.AddElement(table2);
ct.Go();

它包含一个在增加表行时消失的段落。它应该转到下一页。

0 个答案:

没有答案