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,如下图:

QQ截图20131105232226

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 效果图如下

捕获

 

 

您的支持是我最大的动力,喜欢就推荐下吧

posted @   flowbywind  阅读(6937)  评论(11编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示