这篇文章主要介绍使用Nuget package中的RazorPDF简单的创建PDF的方法。
关于RazorPDF
这个Nuget Package由Al Nyveldt创建。它内部使用ITextSharp。RazorPDF使用Razor视图引擎创建iTextXML,iTextXML用来生成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 List的Action的控制器,名字叫做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 = ; i <= ; 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 = ; i <= ; 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