使用columnText将表插入多个PDF页面

时间:2014-02-17 20:39:47

标签: itextsharp itext

我正在尝试将表格插入PDF模板。当表格适合页面时,它是成功的。但是,如果它太大,那么我们就会丢失数据。我基本上只是希望它将ColumnText剩下的内容粘贴到下一页,看起来像第5页。

这是我当前的代码,它在页面#4前面创建了一个空白的白页,它将剩余的ColumnText数据写在第一次粘贴的位置。

PdfImportedPage templatePage = stamper.GetImportedPage(pdfReader, 5);

int pageNum = 5;

while (true)
{
      ct.SetSimpleColumn(-75, 50, PageSize.A4.Height + 25, PageSize.A4.Width - 200);
      if (!ColumnText.HasMoreText(ct.Go()))
            break;
      pageNum++;
      stamper.InsertPage(pageNum, new Rectangle(792f, 612f));
      stamper.GetOverContent(pageNum).AddTemplate(templatePage, 0, 0);

} 

1 个答案:

答案 0 :(得分:2)

我创建了一个名为AddLongTable的小代码示例,您可以使用它来完成代码。将所有内容添加到同一页面的原因很简单。你忘了这句话:

ct.setCanvas(stamper.getOverContent(pageNum));

请注意,我的示例是用Java编写的,但我相信你会知道如何使它适应C#。如果您在评论中发布您的修补程序,我将更新我的答案,添加解决方案的C#版本。