MVC中使用RazorPDF创建PDF
这篇文章主要介绍使用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
MVC中使用RazorPDF创建PDF的更多相关文章
- MVC中使用代码创建数据库(code first +mysql+EF)
1.新建一个mvc项目 2.安装mysql需要的几个文件 EntityFramework.MySql.Data(6.9.12)和MySql.Data.Entity (6.9.12) 这里有几点要注意 ...
- 使用Rotativa在ASP.NET Core MVC中创建PDF
在本文中,我们将学习如何使用Rotativa.AspNetCore工具从ASP.NET Core中的视图创建PDF.如果您使用ASP.NET MVC,那么Rotativa工具已经可用,我们可以使用 ...
- NET Core MVC中创建PDF
使用Rotativa在ASP.NET Core MVC中创建PDF 在本文中,我们将学习如何使用Rotativa.AspNetCore工具从ASP.NET Core中的视图创建PDF.如果您使用ASP ...
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
ADO.NET 一.ADO.NET概要 ADO.NET是.NET框架中的重要组件,主要用于完成C#应用程序访问数据库 二.ADO.NET的组成 ①System.Data → DataTable, ...
- C#中如何创建PDF网格并插入图片
这篇文章我将向大家演示如何以编程的方式在PDF文档中创建一个网格,并将图片插入特定的网格中. 网上有一些类似的解决方法,在这里我选择了一个免费版的PDF组件.安装控件后,创建新项目,添加安装目录下的d ...
- ABBYY PDF Transformer+从文件选项中创建PDF文档的教程
可使用OCR文字识别软件ABBYY PDF Transformer+从Microsoft Word.Microsoft Excel.Microsoft PowerPoint.HTML.RTF.Micr ...
- 怎么用OCR图文识别软件在MS Office中创建PDF文件
ABBYY PDF Transformer+是一款可创建.编辑及将PDF文件转换为其他可编辑格式的OCR图文识别软件,不仅可以从纸质文档.图像文件和任何其他流行格式创建PDF文件(相关文章请参考如何从 ...
- MVC中使用EF(1):为ASP.NET MVC程序创建Entity Framework数据模型
为ASP.NET MVC程序创建Entity Framework数据模型 (1 of 10) By Tom Dykstra |July 30, 2013 Translated by litdwg ...
- 在.NET中使用iTextSharp创建/读取PDF报告: Part I [翻译]
原文地址:Create/Read Advance PDF Report using iTextSharp in C# .NET: Part I By Debopam Pal, 27 Nov 20 ...
随机推荐
- 第五百八十三天 how can I 坚持
今天去看了个电影,日本动漫,第一次在电影院看日本动漫,<你的名字>,挺经典的.存在爱情吗?什么是爱情,哎.什么是人. 好像有点感冒了呢,说过自己很久没感冒后,往往就会感冒,这到底是怎么回事 ...
- PHP 程序员的技术成长规划
[导读] 按照了解的很多PHP LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序 ...
- 第一零三天上课 PHP TP框架下控制器的方法分离
(1)配置信息 修改配置文件->Config.php (配置后,原先的控制方法无效) 'ACTION_BIND_CLASS' => TRUE, // 控制器方法分离 (2)在Control ...
- DIRECTORY_SEPARATOR 和 PATH_SEPARATOR的区别
DIRECTORY_SEPARATOR:目录分隔符,linux上就是’/’ windows上是’\’ PATH_SEPARATOR:路径分隔符,include多个路径使用,在win下,当你要in ...
- Allegro学习(http://www.asmyword.com/forum.php?mod=forumdisplay&fid=86)
一.资源 1.网站推荐www.eda365.com,里面有很多有用的东西:当然还有官方代理商的网站http://www.pspice.com.cn/: 2.视频教程:有库源电气的视频教程,还有在www ...
- 3.Mybatis全局配置文件属性详解(SqlMapConfig.xml)
首先我们要知道一点,该配置文件的中属性的存放是有顺序的,没有办法随意的乱放.如果你属性的配置位置出错,会有如下错误提示: The content of element type "confi ...
- java异常和spring事务注解
http://www.techferry.com/articles/spring-annotations.html http://www.oschina.net/question/2367675_23 ...
- node中的可读流和可写流
javascript的一个不足之处是不能处理二进制数据,于是node中引入了Buffer类型.这个类型以一个字节(即8位)为单位,给数据分配存储空间.它的使用类似于Array,但是与Array又有不同 ...
- struts标签,<s:textfield>嵌套<s:property>的问题
错误:org.apache.jasper.JasperException: /front/orderList.jsp(110,122) equal symbol expected <s:te ...
- 选择合适的String拼接方法(这篇博客是我抄的)
package com.test; public class FreeFile { public static void main(String[] args) { // 加号拼接 String st ...