转:http://www.cnblogs.com/flowwind/p/3411106.html

Print2flash在.NET(C#)中的使用,即文档在线预览

 

office文档(word,excel,ppt)在线预览查看,有很多种方式,比如可以

1、调用weboffice组件,进行word预览,要求客户端安装word,仅适用IE, word2013, IE11会提示word停止响应;

2、将word转为html文档;

3、使用flexpaper,感觉不是很美观,不过还是可以用;

4、使用flashpaper,效果比较好看,不过只支持32位操作系统,不支持64位;

5、使用print2flash,效果跟flashpaper差不多;

这里主要讲一下print2flash的使用,先上一个效果图:

print2flash的大体实现是这样的,通过把从客户端上传的word/Excel/ppt文件,调用print2flash官方提供的dll,转化成swf格式文件,最后浏览swf文件,就是上图中的效果。

具体使用 如下:

1、下载print2flash,这里是64位的,可以到官方http://print2flash.com/download.php下载最新的,其中的Print2Flash SDK 3.5,是java php .net asp的代码示例

2、配置服务信息,这一步很关键,不然会提示 COM 类工厂中 CLSID 为 {466FAC17-24D2-4B37-A2C4-E2CFA0D3E1E7} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))(不安装print2flash也会这样提示)

配置步骤:打开print2flash安装目录,64位操作系统默认在C:\Program Files (x86)\Print2Flash3下,右键管理员方式运行print2flash.exe,点击option—>Print2Flash Service Configuration,如下图:

3、在程序里引用Interop.Print2Flash3.dll,并调用如下代码,进行转换。

            String fs_filename = Server.MapPath("UploadedFiles/") + FileUpload1.FileName;
            String fs_convertedfilename = Server.MapPath("ConvertedFiles/") + FileUpload1.FileName + ".swf";
            Print2Flash3.Server2 p2fServer = new Print2Flash3.Server2();
            p2fServer.ConvertFile(fs_filename, fs_convertedfilename, null, null, null);

这里其美中不足的地方是,试用版会在预览的时候,有一串英语,意思是让你到官方去瞅瞅。网上有3.1版本的注册码,这个是3.5的,注册码没法用。

另外官方也提供了相关sdk,这里的源码即是官方提供的。但核心代码就是上面那几句。  源码下载

另外这里是官方flexpaper在c#中实现的源码,其实现原理是process调用pdf2swf.exe,将pdf文件转为swf文件,点击下载源码,安装需要swftool0.9.1.exe支持,点击下载swftoolvs运行起来后,页面登陆用户名admin 密码123456 效果图如下

最新文章

  1. Matlab函数 meshgrid
  2. java多线程学习
  3. [Android Studio导入第三方类库方法] Error:(19, 23) 错误: 程序包org.apache.http不存在
  4. 建立php开发环境(XAMPP + Xdebug+Zend Studio)
  5. ADO.NET笔记——带参数的查询防止SQL注入攻击
  6. 关于JDK中的集合总结(三)
  7. apache开源项目--PDFBox
  8. EasyUI知识点
  9. tomcat 绑定ipv4端口
  10. GWAS基因芯片数据预处理:质量控制(quality control)
  11. 循环语句--do...while
  12. LeetCode 237. Delete Node in a Linked List 删除链表结点(只给定要删除的结点) C++/Java
  13. 【转载 Hadoop&Spark 动手实践 2】Hadoop2.7.3 HDFS理论与动手实践
  14. Android学习之基础知识五—编写聊天界面
  15. 单周期CPU设计的理论基础
  16. mitmdump 屏蔽443错误
  17. 知物由学 | 未来安全隐患:AI的软肋——故意欺骗神经网络
  18. UVALive 4423 String LD 暴力
  19. Install MySQL on Mac
  20. 关于 AfxSocketInit()

热门文章

  1. LeetCode Delete Node in a Linked List (删除链表中的元素)
  2. a标签中的label在IE下触发不了a标签的href链接(label标签——解析)
  3. ejabberd源码流程梳理
  4. CSS中的块级元素与行级元素
  5. memcached单点故障与负载均衡
  6. PHP 通用检测函数集
  7. mssql server 2005还原数据库bak文件与“备份集中的数据库备份与现有的xx数据库不同”解决方法
  8. js基础第二天
  9. jvm 漫谈 笔记
  10. Javascript and DOM学习