Print2flash在.NET(C#)中的使用,即文檔在線預覽

office文檔(word,excel,ppt)在線預覽查看,有不少種方式,好比能夠php

一、調用weboffice組件,進行word預覽,要求客戶端安裝word,僅適用IE, word2013, IE11會提示word中止響應;html

二、將word轉爲html文檔;java

三、使用flexpaper,感受不是很美觀,不過仍是能夠用;web

四、使用flashpaper,效果比較好看,不過只支持32位操做系統,不支持64位;c#

五、使用print2flash,效果跟flashpaper差很少;flex

這裏主要講一下print2flash的使用,先上一個效果圖:ui

捕獲

print2flash的大致實現是這樣的,經過把從客戶端上傳的word/Excel/ppt文件,調用print2flash官方提供的dll,轉化成swf格式文件,最後瀏覽swf文件,就是上圖中的效果。spa

具體使用 以下:操作系統

一、下載print2flash,這裏是64位的,能夠到官方http://print2flash.com/download.php下載最新的,其中的Print2Flash SDK 3.5,是java php .net asp的代碼示例.net

二、配置服務信息,這一步很關鍵,否則會提示 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

三、在程序裏引用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 效果圖以下

捕獲

 

 

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

相關文章
相關標籤/搜索