几天有个老项目找到我,有多老呢?比我工作年限都长,见到这个项目我还得叫一声前辈。
这个项目目前使用非常稳定,十多年了没怎么更新过,现在客户想加一个小功能:在线预览Word文档。
首先想到的是用第三方的服务,例如WPS的开放平台。
刚看完文档,客户来了句,要一次性的哦,后续再付费的通通不要。
得嘞,换其他方案吧。
Asp.Net不带Core,.NET Framework 4.0,部署在Windows平台上。
先引用Office的DLL,在COM里面,注意:电脑需要安装Office哦。
又注意:请在DLL属性里面将嵌入互操作类型改为False
转换过程一个方法搞定:
using Microsoft.Office.Interop.Word;
public static string WordToHtml(string path)
{
string root = AppDomain.CurrentDomain.BaseDirectory;
var htmlName = $"{Guid.NewGuid().ToString("N")}.html";
var htmlPath = root + $"Resource/Temporary/";
if (!Directory.Exists(htmlPath))
{
Directory.CreateDirectory(htmlPath);
}
ApplicationClass word = new ApplicationClass();
Type 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;
}
上一步Word转Html的方法已经准备就绪,我们再准备这样一个Word文档。
简单写一下逻辑:
是不是特别简单,我们再看看成品效果。
这种方案局限性比较大,部署平台必须安装Office,刚好客户能满足。
文章来自https://www.cnblogs.com/cool-net/p/16191068.html
TML是什么?HTML能干什么?HTML怎么用?
C认证今天为你带来(1)HTML常用到的知识点的使用规则;(2)独立开发一个简单的响应式的页面,零基础介绍HTML,让你从入门到精通轻松掌握web开发语言,玩转HTML!
C站(CSDN)软件工程师能力认证上线47天,来自全国130所高校,自发组建的学习小组当前已破百!114个学习小组,基于“明确路径+任务领取+刻意练习+小组学习+大咖指导”的学习模型,实现了面向实践、任务驱动、共同成长的目标。
越来越多的同学已加入学习小组的大家庭,百舸争流,团战群雄,我们一直在等你!
你的努力+C站的陪伴=pass卡!
现已有四所高校的6位同学通过C1认证考试,在此C站为通过考试的同学颁发证书:
南开大学滨海学院的郭同学、吴同学、朱同学,河北工程大学的赵同学,河南大学的崔同学,长春大学的董同学
下面分享这些同学的高光时刻,也祝愿大家顺利通过接下来的C4考试!
新人榜
今日新建9个学习小组,组名分别是:101、后援团、我要进华为、汪汪队、镇站之宝、C站1组、Dream Team、天天向上、奇思妙想,欢迎各位新同学加入C站学习小组大家庭!
照例分享新建小组群内互动精彩瞬间,小组成员共同制定学习目标和学习任务,互相督促、取长补短,从而快速掌握任务核心知识点。
小组成员遇到困难寻求组内大神的帮助,对于创建的程序提出问题,在群内实时获得解答,最终促成任务的顺利完成~
成果榜
今天也有组长带头学习、主动完成任务来展示本组的学习成果哦~ 这次是IT小团队的张组长与允异组的艾组长发布博客:
富文本编辑器实现音频视频的插入以及表格隔行换色
HTML和CSS——初步认知
问答官
今天,金刚葫芦娃队小组的刘同学就【HTML】提出相关的问题,为了解答同学们的疑惑,小编特地联合业界专家整理了关于【HTML】的精选文章40篇,快来查收吧!
【HTML零基础入门教程(详细)】
·【Html入门练习 】
· 【HTML所有知识点全面复习】
·【HTML入门与进阶以及HTML5】
·【HTML 网页制作特殊符号代码大全】
·【HTML简单网页代码大全,实用!】
·【HTML全部标签简介】
·【html字体颜色】
·【html网页字体颜色代码大全】
·【HTML图像标签、文本、表格的颜色及其背景色】
·【HTML——tab标签】
·【HTML速写之Emmet语法规则】
·【Html获取Url参数】
·【HTML网页调用本地Python程序】
·【如何让在Html中特殊字符不被转义(源码输出)】
·【HTML简单登录页面代码】
·【HTML5表单中password输入框的文字显示与隐藏实现】
·【HTML中让表单input等文本框为只读不可编辑的方法】
·【在html页面实时显示系统时间】
·【HTML5新控件 - 日期和时间选择输入】
·【HTML实现获取验证码功能】
·【HTML表格制作】
·【HTML表格跨行、跨列操作(rowspan、colspan)】
·【html实现动态在线预览word、excel、pdf等文件】
·【html页面实现文件上传】
·【HTML页面实现自动刷新的2种方式】
·【HTML中有一个button,如何让它点击后跳转到指定页面或动作】
·【HTML页面-------3秒之后自动跳转的3种常用的实现方式】
·【HTML导航栏的四种制作方法】
·【html怎么在网页标题栏上添加图标】
·【html页面引入公共头部和尾部】
·【纯HTML——写一个简易的搜索框】
·【HTML中下拉框的简单介绍<Select><option>】
·【html实现弹窗】
·【HTML5----响应式(自适应)网页设计(自动适应屏幕大小)】
·【Html设置网页背景图片】
·【Html笔记——实现一组图片循环且首尾相连的滚动效果】
·【html5视频作为页面背景】
·【在html中添加背景音乐】
·【html聊天界面】
————————————————
版权声明:本文为CSDN博主「高校俱乐部」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
在主流的实现文档在线预览的方案基本就是三种
1.flash 的flexpaper 将文档转换为swf格式,然后使用flash在网页中浏览,
2.使用开源的软件openoffice+pdf2htmlEx,利用openoffice的接口先将文档转换为pdf格式,然后在使用pdf2htmlEx将文档转换为html直接在网页中显示,
3.自己搭建一个文档预览服务器,基于office web app,也就是微软的office online,开源的内容管理系统KodExplorer就是这么干的。文档在线预览基本上就这么几种方案.
*请认真填写需求信息,我们会在24小时内与您取得联系。