我正在尝试将表格插入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);
}
答案 0 :(得分:2)
我创建了一个名为AddLongTable的小代码示例,您可以使用它来完成代码。将所有内容添加到同一页面的原因很简单。你忘了这句话:
ct.setCanvas(stamper.getOverContent(pageNum));
请注意,我的示例是用Java编写的,但我相信你会知道如何使它适应C#。如果您在评论中发布您的修补程序,我将更新我的答案,添加解决方案的C#版本。