欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

.net 實現(xiàn)Office文件預(yù)覽

分析了下網(wǎng)易郵箱的文件預(yù)覽功能,他用的是微軟的組件,最早叫Office online,現(xiàn)在分開了叫Word online、Excel online ....等等,效果十分炫酷功能十分強大,但是查看了下對api的說明發(fā)現(xiàn)對服務(wù)器的要求比較苛刻而且配置比較復(fù)雜不太適合。然后 又看了下騰訊用的是永中第三方組件,效果嘛自然比不上微軟的但是能用,綜合網(wǎng)上的一些資料大概也就那么幾種方式實現(xiàn)

? ? ?1.使用Microsoft的Office組件將文件直接轉(zhuǎn)換為html文件(優(yōu)點:代碼實現(xiàn)最簡單,工作強度最小。缺點:效果極差)

? ? ?2.使用Microsoft的Office組件將文件轉(zhuǎn)換為PDF格式文件,然后再使用pdf2swf轉(zhuǎn)換為swf文件,也就是flash文件在使用FlexPaper展示出來(優(yōu)點:預(yù)覽效果能接受,缺點:代碼量大)

? ? ? ? 效果如圖:

  .net 實現(xiàn)Office文件預(yù)覽

? ? ?3. 使用Office online(優(yōu)點:表現(xiàn)完美,缺點:不適合中小企業(yè)應(yīng)用)

綜合考慮決定使用第二種方法,經(jīng)過次次波折終于可以使用,但是有個問題至今沒有得到解決,調(diào)用Office組件的時候有時候會出現(xiàn)如下異常:

檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件失敗,原因是出現(xiàn)以下錯誤: 8000401a 因為配置標(biāo)識不正確,系統(tǒng)無法開始服務(wù)器進程。請檢查用戶名和密碼。 (異常來自 HRESULT:0x8000401A),查閱無數(shù)資料還是不能解決,最讓人不可接受的的是office文件必須標(biāo)標(biāo)準(zhǔn)準(zhǔn)毫無容錯能力,當(dāng)轉(zhuǎn)換ppt文件時竟然會彈出轉(zhuǎn)換進度框!!

好吧!那么我們改進它。

使用ASPOSE+pdf2swf+FlexPaper

關(guān)于ASPOSE大家可以到官網(wǎng)了解,這是款商業(yè)收費產(chǎn)品但是免費也可以使用

1、引用dll

.net 實現(xiàn)Office文件預(yù)覽

2、編寫轉(zhuǎn)換幫助類

.net 實現(xiàn)Office文件預(yù)覽?Office格式轉(zhuǎn)換

3、將pdf文件轉(zhuǎn)swf的轉(zhuǎn)換器放到站點根目錄下新建文件夾pdf2swf(我就是這么配置的,您隨意)

4、配置FlexPaper

? ? 預(yù)覽頁面引用

  

<script src="/FlexPaper/js/swfobject.js" type="text/javascript"></script>
    <script type="text/javascript" src="/FlexPaper/js/flexpaper_flash.js"></script>

? ? 控件容器以及設(shè)置項

? ??

復(fù)制代碼
<div style="margin:0 auto;width:980px;">
            <div id="flashContent" style="display:none;"> 
                <p> 
                    To view this page ensure that Adobe Flash Player version 
                    10.0.0 or greater is installed. 
                </p> 
                <script type="text/javascript">
                    var pageHost = ((document.location.protocol == "https:") ? "https://" : "http://");
                    document.write("<a ><img src='" + pageHost + "www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a>"); 
                </script> 
            </div>
        <script type="text/javascript">
            var _filename = document.getElementById("_filename").value;
            var swfVersionStr = "9.0.0";
            var xiSwfUrlStr = "playerProductInstall.swf";
            var flashvars = {
                SwfFile: escape(_filename),
                Scale: 0.6,
                ZoomTransition: "easeOut",
                ZoomTime: 0.5,
                ZoomInterval: 0.1,
                FitPageOnLoad: false,
                FitWidthOnLoad: true,
                PrintEnabled: true,
                FullScreenAsMaxWindow: false,
                ProgressiveLoading: true,

                PrintToolsVisible: true,
                ViewModeToolsVisible: true,
                ZoomToolsVisible: true,
                FullScreenVisible: true,
                NavToolsVisible: true,
                CursorToolsVisible: true,
                SearchToolsVisible: true,
                SearchMatchAll:true,

                localeChain: "zh_CN"
            };
            var params = {
                quality: "high",
                bgcolor: "#ffffff",
                allowscriptaccess: "sameDomain",
                allowfullscreen: "true"
            }
            var attributes = { id: "FlexPaperViewer", name: "FlexPaperViewer" };
            swfobject.embedSWF("/FlexPaper/FlexPaperViewer.swf", "flashContent", "980", "620", swfVersionStr, xiSwfUrlStr, flashvars, params, attributes);
            swfobject.createCSS("#flashContent", "display:block;text-align:left;");
        </script>
        </div>
?
復(fù)制代碼

?

? ? ?

document.getElementById("_filename").value是預(yù)覽文件的路徑

?

OK ?大功告成 ?,至于如何上傳,怎么保存上傳的文件等等那些邏輯我這里就省略了。。。。,但是有個建議,當(dāng)用戶上傳文件之后調(diào)用轉(zhuǎn)換api生成預(yù)覽文件是個耗時的操作,

文件越大耗時越長,也就是說生成預(yù)覽文件的時候是需要時間的,因此我使用異步方式生成預(yù)覽文件。

?

文章鏈接: http://www.qzkangyuan.com/10882.html

文章標(biāo)題:.net 實現(xiàn)Office文件預(yù)覽

文章版權(quán):夢飛科技所發(fā)布的內(nèi)容,部分為原創(chuàng)文章,轉(zhuǎn)載請注明來源,網(wǎng)絡(luò)轉(zhuǎn)載文章如有侵權(quán)請聯(lián)系我們!

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程投稿分享

關(guān)于SYN Flood的攻擊(二)

2022-10-8 15:40:39

建站教程投稿分享

java如何判斷當(dāng)前系統(tǒng)是windows還是linux

2022-10-9 23:51:10

0 條回復(fù) A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 乐至县| 大名县| 普安县| 攀枝花市| 盐边县| 安平县| 安国市| 会泽县| 博爱县| 陆川县| 英吉沙县| 鲁甸县| 内乡县| 富裕县| 江口县| 滁州市| 双江| 鄄城县| 施甸县| 永和县| 河南省| 宁南县| 新乐市| 靖江市| 台前县| 钦州市| 会东县| 岚皋县| 古浪县| 合水县| 务川| 西城区| 库尔勒市| 桃江县| 湘潭县| 舒兰市| 贺兰县| 广元市| 武平县| 伊吾县| 东山县|