Asp.Net在线预览Word文档的解决方案与思路详解

2022-04-28 11:22:21
目录
项目特点解决方案大致思路:先将Word文档转换Html,再预览Html。1、Word文档转Html2、预览

前几天有个老项目找到我,有多老呢?比我工作年限都长,见到这个项目我还得叫一声前辈。

这个项目目前使用非常稳定,十多年了没怎么更新过,现在客户想加一个小功能:在线预览Word文档

首先想到的是用第三方的服务,例如WPS的开放平台。

wordType = word.GetType();Documents docs = word.Documents;Type docsType = docs.GetType();Document doc = (Document)docsType.InvokeMember("Open", BindingFlags.InvokeMethod, null, docs, new Object[] { (object)path, true, true });Type docType = doc.GetType();docType.InvokeMember("SaveAs", BindingFlags.InvokeMethod, null, doc, new object[] { (htmlPath + htmlName), WdSaveFormat.wdFormatFilteredHTML });docType.InvokeMember("Close", BindingFlags.InvokeMethod, null, doc, null);wordType.InvokeMember("Quit", BindingFlags.InvokeMethod, null, word, null);return htmlName;}

2、预览

上一步WordHtml的方法已经准备就绪,我们再准备这样一个Word文档。

Asp.Net在线预览Word文档的解决方案与思路详解

简单写一下逻辑:

Asp.Net在线预览Word文档的解决方案与思路详解

Asp.Net在线预览Word文档的解决方案与思路详解

是不是特别简单,我们再看看成品效果。

Asp.Net在线预览Word文档的解决方案与思路详解

Asp.Net在线预览Word文档的解决方案与思路详解

这种方案局限性比较大,部署平台必须安装Office,刚好客户能满足。