Spire PDF for .NET 在ASP.NET中的使用 ---- 并非那么“美好”,有些挫折!
笔者注:看此文前,请您先看一下上一篇文章吧。
昨天的时候,我测试了一下Spire PDF在WinForm程序中的应用,可以说用起来很简单(请忽略效率问题,没有进行测试)。不过在互联网如此发达的今天,适用WEB才是王道啊。因此,在今天我又在ASP.NET MVC4中体验了一下。准备看看在使用中有没有什么不同。
开发环境
- Microsoft Windows 7 With SP1 Ultimate Edition x86
- Microsoft VisialStudio 2013 With Update 4 Ultimate Edition
- Spire PDF for .NET Free Edition
- ASP.NET MVC 4
程序运行逻辑

生成模拟数据源
[ActionName("Generate")]
public ActionResult GenerateDynamicDataSource()
{
return View(DynamicDataSourceDispatcher.GetDataSource());
}
DataSource
执行导出
PdfDocument documentInstance = new PdfDocument();
documentInstance.LoadFromHTML("http://localhost:1/mvc4/controller/action=Generate", false, false, true);
Spire PDF
异常初现
按照昨天的代码,到此时这段代码基本上就已经结束了,只剩下写入到HttpResponse的输出流,等待下载就好了。结果却并不是这样的。

久违的小黄页!这是什么鬼?
按照异常的字面意思应该是在Spire PDF中访问了什么Active插件或者COM组件。
没办法,这能求助万能的度娘了(为啥不是谷歌?原因你懂的)。查了好久,终于在CSDN的一篇博文中看到了一个解决方案。就是在@Page指令中指定AspCompat属性的值为true。

ExportHandler.aspx 无奈之举
无奈,先试试吧,看看能否灭掉小黄页。
将上面的代码CtrlX+V到这个页面的Page_Load里,“F5”了一下,居然解决了上述问题。
protected void Page_Load(object sender, EventArgs e)
{
PdfDocument documentInstance = new PdfDocument();
documentInstance.LoadFromHTML(HttpUtility.UrlDecode(this.Request.QueryString["targetDataSourceUri"]), false, false, true);
this.Response.ContentType = "application/pdf";
this.Response.AddHeader("Content-Disposition", "attachment;filename=Spire PDF for ASPNET.pdf");
documentInstance.SaveToStream(this.Response.OutputStream, FileFormat.PDF);
}
ExportHandler.aspx.cs
建议
- Spire PDF for .NET在兼容ASP.NET方面还需要加强的。这也许是我没有深入了解这个组件,可能还有更好的使用方法。
- 执行效率可能会是一个问题。最开始,我尝试生成10000条数据的页面,生成PDF时死机了,无奈最终减少到10条数据。
运行效果

代码下载
https://sprepdfsdk2.codeplex.com/
最后,谢谢Yesi的邀请,也谢谢你们的团队的工作,期待Spire系列做的更好!
Spire PDF for .NET 在ASP.NET中的使用 ---- 并非那么“美好”,有些挫折!的更多相关文章
- 【译】在Asp.Net中操作PDF - iTextSharp - 利用列进行排版
原文 [译]在Asp.Net中操作PDF - iTextSharp - 利用列进行排版 在使用iTextSharp通过ASP.Net生成PDF的系列文章中,前面的文章已经讲述了iTextSharp所涵 ...
- 【译】在Asp.Net中操作PDF - iTextSharp - 绘制矢量图
原文 [译]在Asp.Net中操作PDF - iTextSharp - 绘制矢量图 在上一篇iTextSharp文章中讲述了如何将现有的图片插入PDF中并对其进行操作.但有时,你需要在PDF中绘制不依 ...
- 【译】在Asp.Net中操作PDF – iTextSharp - 操作图片
原文 [译]在Asp.Net中操作PDF – iTextSharp - 操作图片 作为我的iTextSharp系列的文章的第七篇,开始探索使用iTextSharp在PDF中操作图片,理解本篇文章需要看 ...
- 【译】在Asp.Net中操作PDF – iTextSharp - 使用表格
原文 [译]在Asp.Net中操作PDF – iTextSharp - 使用表格 使用Asp.Net生成PDF最常用的元素应该是表格,表格可以帮助比如订单或者发票类型的文档更加格式化和美观.本篇文章并 ...
- 【译】在Asp.Net中操作PDF - iTextSharp - 利用列进行排版(转)
[译]在Asp.Net中操作PDF - iTextSharp - 利用列进行排版 在使用iTextSharp通过ASP.Net生成PDF的系列文章中,前面的文章已经讲述了iTextSharp所涵盖 ...
- 【译】在Asp.Net中操作PDF – iTextSharp - 使用链接和书签
原文 [译]在Asp.Net中操作PDF – iTextSharp - 使用链接和书签 用户和PDF文档的交互可以通过锚(链接)和书签进行,接着我前面iTextSharp的系列文章,本篇文章主要讲通过 ...
- 【译】在Asp.Net中操作PDF – iTextSharp-列表
原文 [译]在Asp.Net中操作PDF – iTextSharp-列表 在前文中,我们已经知道了如何利用iTextSharp创建PDF文档,设置字体样式和风格.本文开始讲述iTextSharp中的有 ...
- 【译】在Asp.Net中操作PDF – iTextSharp -利用块,短语,段落添加文本
原文 [译]在Asp.Net中操作PDF – iTextSharp -利用块,短语,段落添加文本 本篇文章是讲述使用iTextSharp这个开源组件的系列文章的第三篇,iTextSharp可以通过As ...
- 【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
原文 [译]在Asp.Net中操作PDF - iTextSharp - 使用字体 紧接着前面我对iTextSharp简介博文,iTextSharp是一个免费的允许Asp.Net对PDF进行操作的第三方 ...
随机推荐
- PyCharm设置字体
pycharm 是很好的一个IDE,就是默认字体太小了,真的太小了,改字体的地方很隐晦.找了半天,贴图: 然后发现size 不能更改,所以,点击save as创建一个方案,然后修改自己的方案.这个时候 ...
- Sereja and Suffixes(思维)
Sereja and Suffixes Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64 ...
- Zipper
Zipper Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- web api 上传
using System.Net; using System.Net.Http; using System.Web; using System.Web.Http; namespace FileUp ...
- H264标准句法表中C的含义理解
下面一段是H264官方中文版中给出的解释: “类别(在表中以C 表示)规定条带数据可以至多划分为三种条带数据类别.条带数据类别A 包含了类别2的所有语法元素.条带数据类别B 包含了类别3 的所有语法元 ...
- timeout Timeout时间已到.在操作完成之前超时时间已过或服务器未响应
Timeout时间已到.在操作完成之前超时时间已过或服务器未响应 问题 在使用asp.net开发的应用程序查询数据的时候,遇到页面请求时间过长且返回"Timeout时间已到.在操作完成之间超 ...
- JavaScript检测之basevalidate.js
上篇文章「JavaScript检测原始值.引用值.属性」中涉及了大量有用的代码范例,为了让大家更方便的使用这些代码,博主特意把这些代码重新整理并托管到 GitHub,项目地址是:https://git ...
- UVA 714 Copying Books
题意: 要抄N本书,编号为1,2,3...N, 每本书有1<=x<=10000000页, 把这些书分配给K个抄写员,要求分配给某个抄写员的那些书的编号必须是连续的.每个抄写员的速度是相同的 ...
- [IOS]图标尺寸
最新参考网址:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/Ico ...
- action接收到来自jsp页面的请求时出现中文乱码问题处理方法
写JSP程序时,在Servlet中取请求参数时出现了乱码,当然,这种乱码问题再简单不过了.由于在JSP中使用了GBK作用页面的编码,那么提交的中文信息自然也会被按着GBK进行编码,为%xx格式的GBK ...