如何在iTextSharp中每页打印一条记录

时间:2011-12-27 12:11:35

标签: c# asp.net-mvc-3 itextsharp

我正在构建一个asp.net mvc 3应用程序并使用iTextSharp生成报告

这是我第一次使用iTextSharp,我已经能够生成报告  不过这是我的问题,

我创建了一个视图,我将其传递给viewPdf()方法,该方法将视图转换为pdf格式。

然而,pdf格式在同一页面上有多个记录,但是我需要它来打印每页的记录,即不超过页面上的记录,每个记录都以详细类型布局显示

我如何实现这一目标?我搜索了谷歌和一些论坛,并一直在尝试,但我很感激一些帮助。

这就是我的控制器的样子

public ActionResult Print(int? ID=null)
{
    viewModel.Applicants=entities.Applicants;
    return this.ViewPdf("", "Print", viewModel);
}

2 个答案:

答案 0 :(得分:1)

如果查看iTextSharp api,您会找到PdfPage类,并使用PdfReader.GetPageN()方法只能检索PdfDocument的一页。然后将这一页加载到您的视图中。这是一项相当简单的任务。

答案 1 :(得分:0)

可能你正在使用这个库:

如果为true,则使用“HTMLWorker”类将View的HTML转换为PDF。因此,您不能每页打印一条记录。它会尝试根据收到的HTML自动完成工作。