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

捕獲

 

 

您的支持是我最大的動力,喜歡就推薦下吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM