zoukankan      html  css  js  c++  java
  • MVC中使用RazorPDF创建PDF

    这篇文章主要介绍使用Nuget package中的RazorPDF简单的创建PDF的方法。

     

    关于RazorPDF

    这个Nuget PackageAl Nyveldt创建。它内部使用ITextSharp。RazorPDF使用Razor视图引擎创建iTextXMLiTextXML用来生成PDF文件。如果你想了解更多的关于RazorPDF的情况,可以访问:

    https://www.nuget.org/packages/RazorPDF

     

    下面举个例子使用RazorPDF

    1、首先创建一个MVC项目

     

    2、使用Nuget安装RazorPDF Package

     

    3、创建一个Customer Model

    namespacePDFDemor.Models
    {
        publicclassCustomer
        {
            publicintCustomerID {get;set; }
    
            publicstringFirstName {get;set; }
    
            publicstringLastName {get;set; }
        }
    }

    4、创建一个包含返回Costomer ListAction的控制器,名字叫做CustomerController 

     

    接着在Index中编写返回List的代码,

    usingSystem;
    usingSystem.Collections.Generic;
    usingSystem.Linq;
    usingSystem.Web;
    usingSystem.Web.Mvc;
    usingPDFDemo.Models;
    
    namespacePDFDemo.Controllers
    {
        publicclassCustomerController : Controller
        {
            //
    
            // GET: /Customer/
    
            publicActionResult Index()
            {
                List<Customer> customers=newList<Customer>();
    
                for(inti = 1; i <= 10; i++)
                {
                    Customer customer =newCustomer
                    {
                        CustomerID = i,
                        FirstName =string.Format("FirstName{0}", i.ToString()),
                        LastName =string.Format("LastName{0}", i.ToString())
                    };
                    customers.Add(customer);
                }
                returnView(customers);
            }
        }
    }

    然后给这个Index创建一个List视图,

     

    创建完视图之后,浏览之后的结果如下:

     

    5、添加生成PDF文档的功能

    以上都是铺垫啊,这里才是本文的重点啊。

    在控制器中添加一个新的Action取名叫做“PDF”,返回RazorPDF.pdfResult

    publicActionResult PDF()
    {
        List<Customer> customers =newList<Customer>();
    
        for(inti = 1; i <= 10; i++)
        {
            Customer customer =newCustomer
            {
                CustomerID = i,
                FirstName =string.Format("FirstName{0}", i.ToString()),
                LastName =string.Format("LastName{0}", i.ToString())
    
            };
            customers.Add(customer);
        }
        return new RazorPDF.PdfResult(customers,"PDF"); // 注意这里,这里返回的是一个RazorPDF.PdfResult
    }

    然后给这个Action添加视图,

    @model List<PDFDemo.Models.Customer>
    
    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
        <h2>Html List in PDF</h2>
        <tablewidth="100%">
            <tr>
                <td>First Name</td>
                <td>Last Name</td>
            </tr>
            @foreach (var item in Model)
            {
                <tr>
                    <td>@item.FirstName</td>
                    <td>@item.LastName</td>
                </tr>
            }
        </table>
    </body>
    </html>

    浏览的结果如下:

     

    总结

    本文使用RazorPDF创建了一个简单的PDF页面,从当前的使用来看,使用RazorPDF穿件PDF还是挺简单的。如果大家想更多的查看RazorPDF的例子,可以访问:

    https://github.com/RazorAnt/RazorPDFSample

     

    原文链接:http://www.dotnetjalps.com/2013/06/Creating-PDF-with-ASP-Net-MVC-and-RazorPDF.html

  • 相关阅读:
    CSS压缩工具(自动合并重复的定义)
    windows创建服务
    ashx是什么文件,如何创建(转载)
    在mojoportal中建立自定义模块
    Mojoportal2339之汇总页面
    在vs2008中设置jquery智能提示 (转载)
    关于mojoportal在局域网或单机使用时注意事项
    html编辑器kindeditor我的使用方法 (转载)
    visual studio 2008 没有设计视图的解决方法(转载)
    模块开发捷径配置参数
  • 原文地址:https://www.cnblogs.com/acles/p/3141738.html
Copyright © 2011-2022 走看看