iTextSharp,Tables,Layout&多页

时间:2010-09-14 13:18:29

标签: c# itextsharp

我想用iTextSharp创建一个发票,需要在多个页面上打印发票行(在一个表格中)。

在第一张发票页面上,“InvoiceRow表”应该从页面的一半开始。

所以,如果我通过

添加表格
invoiceTable.WriteSelectedRows(0, -1, 48, 570, pdfWriter.DirectContent);

到文档,结果是一页没有分页符。

document.Add(invoiceTable);

执行Page Brakes但会在第一页的顶部添加Table。

任何想法如何在中间的第一页和页面> = 2上启动表输出?

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用MultiColumnText?

将您的表添加到MultiColumnText对象

即 mct = new MultiColumnText(yPos,MultiColumnText.AUTOMATIC); mct.AddElement(表名); Document.add(MCT);

使用值yPos,应该帮助您将发票的开头定位到第一页的一半,然后其余的应该流到下一页。

答案 1 :(得分:0)

尝试将所有内容放在一张大桌子上。有点像这样。 (为清晰起见使用HTML)

<table>
  <tr>
    <td>
      Top Content
    </td>
  </tr>
  <tr>
    <td>
      Bottom table
    </td>
  <tr>
</table>

然后将整个内容添加到您的文档中。