office文件转换为html之word篇

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Reflection;
using Microsoft.Office.Interop.Word;
using Aspose.Words;
using System.Text.RegularExpressions;

namespace word_html
{
    public partial class office_html : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        private string InsertHeadHtml(string strHtml, string realPath)
        {
            int index = strHtml.IndexOf("<body");
            strHtml = strHtml.Insert(index, "<div  style=‘height:60px;font-size:14px;margin:0px 0px  12px 0px;padding:14px 4px 12px 12px;line-height:24px;height:1%;‘>以下是该文档的HTML预览效果。<br/><span>由于是网页提取显示word中的内容,有可能部分显示与源文档中有差异,如想查看更准确的信息,</span>您可以点击 <a  style=‘color:6699FF;text-decoration:underline;‘  href=‘/Lib/UdControls/Download.aspx?action=Download&appFormCode=" + HttpContext.Current.Request.QueryString["appFormCode"].ToString() + "&path=" + HttpContext.Current.Request.QueryString["path"].ToString() + "&encrypt=" + HttpContext.Current.Request.QueryString["encrypt"].ToString() + "‘><b>下载原始附件</b></a></div>");

            Regex reg = new Regex(@"(?<start><img[^>]+?src="")(?<src>[^""]+?)(?<end>""[^>]+?>)");
            strHtml = reg.Replace(strHtml, delegate(Match m)
            {
                return string.Format("{0}{1}{2}{3}",
                  m.Groups["start"].Value,
                  realPath,
                  m.Groups["src"].Value,
                  m.Groups["end"].Value
                  );
            });

            return strHtml;
        }

        private void WordToHtmlFile(string WordFilePath)
        {
            //try
            //{
                // 指定原文件和目标文件
                string realPath = WordFilePath.Substring(0, WordFilePath.LastIndexOf("/") + 1);
                WordFilePath = System.Web.HttpContext.Current.Server.MapPath(WordFilePath);
                object target = WordFilePath.Substring(0, WordFilePath.LastIndexOf(".")) + ".html";
                //string realPath = WordFilePath.Substring(0,  WordFilePath.LastIndexOf(".")) + ".html";

                if (!File.Exists(target.ToString()))
                {
                    Aspose.Words.Document doc = new Aspose.Words.Document(WordFilePath);
                    doc.Save(target.ToString(), SaveFormat.Html);
                    //doc.Close();
                }
                StreamReader sr = new StreamReader(target.ToString(), Encoding.Default);
                //string strHtml = sr.ReadToEnd();
                //strHtml = InsertHeadHtml(strHtml, realPath);
                //HttpContext.Current.Response.Write(strHtml);
                sr.Close();
            //}
            //catch (Exception ex)
            //{
            //    //记录异常
            //    LogEntry logEntry = new LogEntry();
            //    logEntry.Message = ex.Message;
            //    logEntry.Title = "---->将Word文档转换成HTML格式异常[WordToHtmlFile]";
            //    logEntry.TimeStamp = DateTime.Now;
            //    logEntry.LogEntryType = LogEntryType.Error;
            //    logEntry.LogCatalog = LogCatalog.ExceptionLog;
            //    logEntry.StackTrace = ex.StackTrace;
            //    LogPosition logPosition = LogPosition.FileLog;
            //    string positionParameter = SysConfig.ToString(SysConfig.GetAppSetting("LogPath"));
            //    SysLogger.Write(logEntry, logPosition, positionParameter);
            //}
        }

        protected void Button1_Command(object sender, CommandEventArgs e)
        {
            string path = @"/office_file/Myword.docx";
            string path_html = @"/office_file/Myword.html";
            WordToHtmlFile(path);
            if (File.Exists((string)path_html))
            {
                File.Delete((string)path_html);
            }
        }

    }

}

  前台加个butten 就可以了  还有就是需要 Aspose.Words   不过目测可以不用 用微软的直接可以   如果有问题可以和我联系

qq1754463019

时间: 2024-10-10 17:34:46

office文件转换为html之word篇的相关文章

Java实现word文档在线预览,读取office文件

想要实现word或者其他office文件的在线预览,大部分都是用的两种方式,一种是使用openoffice转换之后再通过其他插件预览,还有一种方式就是通过POI读取内容然后预览. 一.使用openoffice方式实现word预览 主要思路是: 1.通过第三方工具openoffice,将word.excel.ppt.txt等文件转换为pdf文件 2.通过swfTools将pdf文件转换成swf格式的文件 3.通过FlexPaper文档组件在页面上进行展示 我使用的工具版本: openof:3.4.

office文件在线预览,模仿网易邮箱在线预览的

最近研究了半天,代码是倾情奉送啊,C#,asp.net的 这个原理是office文件转换为PDF文件,然后再转换成SWF文件,FlexPaper+swfTools. 有个问题,需要在web.config中加这么一行<identity impersonate="true" userName="administrator" password="你的服务器登录密码" /> /// <summary> /// 转换压缩文件,以便于

Qt获取office文件内容

Qt获取office文件内容 需要获取word文件的文件内容.网上找了好久,大部分都是excel的.而word的很少.所以在这里记录一下,方便大家查阅和自己使用. 使用的Qt版本是5.4.2 . 下面通过代码说明: 首先在.pro文件中加入 QT       += axcontainer 需要加入以下头文件 #include <QAxWidget> #include <QAxObject> 详细代码如下 void Qt_word(QString filePath) { //指定要打

Office文件的奥秘——.NET平台下不借助Office实现Word、Powerpoint等文件的解析

Office文件的奥秘——.NET平台下不借助Office实现Word.Powerpoint等文件的解析 分类: 技术 2013-07-26 15:38 852人阅读 评论(0) 收藏 举报 OfficePowerPointWord格式解析 转载http://www.cnblogs.com/mayswind/archive/2013/03/17/2962205.html [题外话] 这是2010年参加比赛时候做的研究,当时为了实现对Word.Excel.PowerPoint文件文字内容的抽取研究

怎么把pdf文件转换为word

今日有许多朋友提问怎么把PDF电子文件转换为Word格式再进行编辑,PDF转换成Word软件在哪下载?等问题,我们知道,一般网上下载的PDF转换成Word需要注册或购买的,对于临时处理文件的用户而言是没有必要的,这里将为大家分享一个免费将PDF转换为Word的工具. 将PDF文件转换为Word我们需要专门的转换软件,但如果你问哪种最方便最安全,这里笔者推荐使用迅捷PDF转换成Word转换器这款软件很强大,可有将将纯文字的或者图文并茂的PDF文件转换成可以编辑的Word,转换之后也是和PDF一样,

.net 实现Office文件预览,word文件在线预览、excel文件在线预览、ppt文件在线预览,excel转html,office格式转换,(.NET、SQL技术交流群206656202,入群需注明来自博客园)

近日公司要搞一个日常的文档管理的东东,可以上传.下载各种文件,如果是office文件呢还必须得支持预览功能,其他的都好说但是唯独office预览功能比较麻烦,但是不能不做,废话不多说了一步步来吧.分析了下网易邮箱的文件预览功能,他用的是微软的组件,最早叫Office online,现在分开了叫Word online.Excel online ....等等,效果十分炫酷功能十分强大,但是查看了下对api的说明发现对服务器的要求比较苛刻而且配置比较复杂不太适合.然后 又看了下腾讯用的是永中第三方组件

办公系统中MS Word文件转换为PDF技术方案

MS Word文件转换为PDF技术方案比较多,比较常见的方案是使用开源的OpenOffice,但是此方案存在兼容的问题,有些文件转换不了或出现问题.而采用现成的产品,成本又比较高.通过对各种Word转PDF解决方案的综合考察,采用在Windows平台调用Word接口的方案,是转换成功率最高的一种,在这里提供个折中的方案. 架设Windows服务器,并安装MS Office 2007,使用MS Office 2007转换PDF功能. Office 2007 只需安装一个加载项,就能导出文件并将其保

.NET读取Office文件内容(word、excel、ppt)

引用命名空间 1 using Microsoft.Office.Core; 2 using Word = Microsoft.Office.Interop.Word; 3 using Excel = Microsoft.Office.Interop.Excel; 4 using PowerPoint = Microsoft.Office.Interop.PowerPoint; Word文件的读取 1 public string ReadFile() 2 { 3 string text = str

在线浏览office 文件

http://blog.csdn.net/binyao02123202/article/details/20051683 [Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你! 2014-02-27 15:04     1089人阅读     评论(0)     收藏     举报 目录(?)[+] 引言 方案一 方案二 方案三 方案四 方案五 方案六 总结 引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询.