1. 程式人生 > >asp.net 實現線上瀏覽word文件(word轉html)

asp.net 實現線上瀏覽word文件(word轉html)

最近在做word文件線上瀏覽,找了種種方法、控制元件之後,迴歸到word轉HTML,線上瀏覽....

一下是後臺程式碼,前臺html頁面預設程式碼即可。


因為用檔案如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using Word = Microsoft.Office.Interop.Word;
using Word = Microsoft.Office.Interop.Word;
沒有引用好元件時,此處會報錯,找不到Interop之類的,

這時需要在引用裡面引用元件.net下的Microsoft.Office.Interop.Visio,Microsoft.Office.Interop.Word

後臺程式碼如下:


  protected void Page_Load(object sender, EventArgs e)
        {
            string relativePath = Request.QueryString["FilePath"]; //相對路徑 ,從跳轉頁面得到檔案相對路徑。
            if (relativePath == "" || relativePath==null) return;
            string serverPath = Server.MapPath(relativePath);  //相對轉伺服器對應路徑
            string html = serverPath.Replace(".doc", ".html");

            if (!File.Exists(@html)) //html頁面不存在,把word轉換成html
            {
                string filename = WordToHtml(serverPath);
                StreamReader fread = new StreamReader(filename, System.Text.Encoding.GetEncoding("gb2312"));
                string ss = fread.ReadToEnd();
                Response.Write(ss); //直接寫字串到網頁會發現,文字可顯示,圖片、表格無法顯示。因此在後面重跳轉到html檔案頁面。
                fread.Close();
                fread.Dispose();
            }

            html = relativePath.Replace(".doc", ".html"); 
                               //html檔案也儲存在同樣的路徑下,
                              //只需要改了原路徑的字尾即可得到html檔案路徑
            Response.Redirect(html);
            return;
        }

         /// <summary> 
        /// word轉成html 
        /// </summary> 
        /// <param name="wordFileName"></param> 
        private string WordToHtml(object wordFileName)
        {
            //在此處放置使用者程式碼以初始化頁面 
            Word.Application word = new Word.Application();
            Type wordType = word.GetType();
            Word.Documents docs = word.Documents;
            //開啟檔案 
            Type docsType = docs.GetType();
            Word.Document doc = (Word.Document)docsType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { wordFileName, true, true });
            //轉換格式,另存為 
            Type docType = doc.GetType();
            string wordSaveFileName = wordFileName.ToString();
            string strSaveFileName = wordSaveFileName.Substring(0, wordSaveFileName.Length - 3) + "html";
            object saveFileName = (object)strSaveFileName;
            docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] { saveFileName, Word.WdSaveFormat.wdFormatFilteredHTML });
            docType.InvokeMember("Close", System.Reflection.BindingFlags.InvokeMethod, null, doc, null);
            //退出 Word 
            wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);
            return saveFileName.ToString();
        } 


相關推薦

asp.net 實現線上瀏覽wordwordhtml

最近在做word文件線上瀏覽,找了種種方法、控制元件之後,迴歸到word轉HTML,線上瀏覽.... 一下是後臺程式碼,前臺html頁面預設程式碼即可。 因為用檔案如下:using System; using System.Collections.Generic; usi

C# 基於NPOI+Office COM元件 實現20行程式碼線上預覽word,excel,pdf,txt,png

由於專案需要,需要一個線上預覽office的功能,小編一開始使用的是微軟提供的方法,簡單快捷,但是不符合小編開發需求, 就另外用了:將檔案轉換成html檔案然後預覽html檔案的方法。對微軟提供的方法感興趣的小夥伴可以去看一下,夠簡單直接:word+excle+pdf表格線上瀏覽 我們來說一下小編使用的方法,

C#儀器數據解析-Worddoc、docx

new read ffi 數據文件 word 不同 軟件 情況下 如果 不少儀器數據報告輸出為Word格式文件,同Excel文件,Word文件doc和docx的存儲格式是不同的,相應的解析Word文件的方式也類似,主要有以下方式: 1.通過MS Word應用程序的DCOM

python合併多個word帶圖片等

文章目錄 安裝python3.6和pywin32包 執行程式碼 安裝python3.6和pywin32包 python官網下載python3.6版本,exe檔案直接安裝。 利用pip安裝pywin32包

POI 追加寫入word,POI如何寫入word親測有效,POI報錯Fail to save: an error occurs while saving the package

一、POI寫入word文件 首先參考W3Shool的教程(上述快速指南)的“Apache POI Word - 文件”一節,對於建立文件和寫入段落都有清晰的闡釋。我不再贅述。但是其寫入段落的方式每次都會覆蓋曾經寫入的內容。那麼經過我探索一番要這麼處理... 二、POI

java操作wordjacob,poi

專案需要,使用者從系統裡面下載word文件,該文件進行了填寫限制和加密,使用者只能在固定位置填寫內容。現要求系統驗證上傳的附件是否從系統上下載下來的。 思路:系統上面的文件都加入一個固定書籤,使用者上傳文件的時候,檢驗文件裡是否包含這個書籤。 採用jacob

解析xml格式的word非jar包-附程式碼

1 背景 dom4j,Jdom,w3c dom解析xml文件時速度比較慢,因此選擇自己寫程式碼解析xml文件。 2 思路 首先,對xml檔案進行分析,熟悉標籤; 然後,切分文件為不同的塊。我們要對文件中的書籤進行替換,因此需要將文件切分為書籤塊和非書籤塊; 還有就是

利用poi操作word針對docx格式

一:認識POI  Apache POI是一個開源的利用Java讀寫Excel、WORD等微軟OLE2元件文件的專案。最新的3.5版本有很多改進,加入了對採用OOXML格式的Office 2007支援,如xlsx、docx、pptx文件。  POI主頁:poi.apache.org/  二:POI3.5相關下載

使用poi生成word最全例子

1.說明 平時的專案中,我們可能需要做大量的報告。而這些報告中,有些是固定的格式,有些是需要自定義模板來生成。如果是固定的形式的,那麼相對而言是比較好做的,但要是根據模板來生成報告,比如:word、Excel或PDF。這樣的話,可能需要我們花點時間去解決了。這篇部落格主要是

使用PageOffice實現word,excel,pdf線上預覽編輯

首先自己需要安裝PageOffice控制元件 目前最新版本是4.2 。下載地址是:http://www.zhuozhengsoft.com/dowm/ 其中包括例項程式碼。 1、安裝完後需要給自己的專案新增pageoffice4.jar 和java 新增jar包沒有

使用PageOffice實現word,excel,pdf線上預覽編輯

4'、線上編輯: /**      * 線上編輯      *       * @param request      * @param response      * @param id      * @param flag      * @return      */

基於commons-net實現ftp創建夾、上傳、下載功能

package use style pen 本地 try cal load 登陸 原文:http://www.open-open.com/code/view/1420774470187 package com.demo.ftp; import

IIS、Asp.net 編譯時的臨時路徑

訪問性 定期 找到 應用程序 生成 新版本 都是 每次 發生 IIS上部署的ASP.NET站點都會在一個.Net Framework的特定目錄下生成臨時編譯文件增加ASP.NET站點的訪問性能,有時候需要手動去刪除這些臨時編譯文件,特別是發布新版本代碼到IIS後,如果發現新

ASP.NET Core多環境配置問題

指定 它的 png ati shel 前言 命令 服務器 ctrl+c 前言 在我們開發的過程中,往往會有這幾個環境,Dev、QA、Pre和Pro。 當然不同的環境可能大家的叫法會有點不一樣。 最常遇到的問題,或許就是不同環境的配置文件問題! 一個環境一個配置文件是很常見

centos6.5下安裝openoffice+jodconverter+swftool+flexpaper工具實現線上預覽功能

作用:linux下文件伺服器上傳文件轉換成pdf文件,再由swftool工具轉換成swf檔案實現線上預覽 環境:OS   centos6.5           java環境 軟體包:Apac

使用Freemarker匯出Word包含圖片程式碼實現及總結

本篇是關於利用FreeMarker匯出Word的實現步驟。採用FreeMarker非常的靈活,能夠按照自己指定的樣式設定並輸出內容,操作簡單方便,程式碼實現也容易。 下面是實現的效果圖: 下面是實現步驟: 1.新增FreeMarker需要的jar包(這裡用的是2.3.28版本,從網上的maven倉庫

Java根據Word模板生成WordFreemarker實現

public class WordExportUtil { private static Configuration configuration; static { configuration = new Configuration(); configur

HTML 內容儲存到wordangular4呼叫第三方js外掛實現

前言: 專案需要將頁面內容儲存到word文件裡面,經過檢視部落格,最簡單的方法就是引入兩個js檔案即可完成這個功能,下面介紹一下是如何實現的。 內容: 一、專案所需檔案: js檔案:jquery.wordexport.js和FileSaver.js 二、實現步驟

asp.net 實現線上人數統計

在解決方案資源管理器中新增新項,Global.asax,其中程式碼如下: <%@ Application Language="C#" %> <script runat="server"> void Application_Start(o

Python:語音處理,實現線上朗讀RFC或本地文字檔案

  本文主要講解如何使用python來實現將文字轉為語音,以一個小例子為例,寫了一下用pyTTS來朗讀本地方件或線上朗讀RFC文件,當然也可以修改一下,做成線上朗讀新聞之類的,另本來想實現一個讀中文小說的小程式,目前沒有發現對中文支援得非常好的,且是免費的語音處理引擎,只能