使用MVC中的ItextSharp在PDF文档中的每个页面上显示列标题

时间:2012-08-12 16:19:26

标签: asp.net-mvc razor itextsharp

我一直在使用本指南创建PDF报告: http://www.codeproject.com/Articles/260470/PDF-reporting-using-ASP-NET-MVC3

基本上我有一个表单,一旦提交,它就会创建并打开一个PDF报告 报告实际上是一个视图,例如这个视图:

@using MvcReportGeneratorDemo.Models
@model CustomerList
<br />
<table cellpadding="3" cellspacing="3">
    `<tr border="1" bgcolor="#777777" color="#ffffff">`
       <td>Name</td>
        <td>Address</td>
        <td>Place</td>
    </tr>
    @foreach (Customer customer in Model)
    {
        <tr border="1">
            <td>@customer.Name</td>
            <td>@customer.Address</td>
            <td>@customer.Place</td>
        </tr>
    }
</table>

我希望PDF中的每个页面都有列标题,而不仅仅是第一个。 试过google但没有发现任何相关内容。

1 个答案:

答案 0 :(得分:0)

您可以在服务器端使用以下代码来解决您的问题。

using (StringReader sr = new StringReader(html))
        {

            foreach (IElement el in iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(sr, null))
            {

                if (el is PdfPTable)
                {
                    ((PdfPTable)el).HeaderRows = 1;
                }
                doc.Add(el);
            }
        }