Word转Chm 在线转换应用
大约去年什么时候 ,写一个软件产品的操作手册。写完以后,用户要求提供Chm格式的帮助文档。于是上网查搜索了一翻。有一些客户端转换软件可以使用,不过大都需要注册,而且有些转换错误或是转换不完整。国外有一个软件,下载下来测试了一下,效果还不错,不过注册费用需要300~500美元,那可用不起。于是程序员的本性毕露。化了几天时间,写了一个原型,能够把自己的操作手册从Word格式转换成Chm。
最近国内各大开放平台比较火,比如,腾讯开放平台、百度开放平台、360开放平台等。我有一些朋友也在开放平台上写了一些应用。谈起应用开发,我也想尝试一下开放平台应用开发是怎么回事,于是想把以前写过的Word转Chm的程序拿来偿试一下。
原来写的程序是客户端程序,开放平台的应用一般都是web应用、或是falsh、或是手机应用。把客户端程序改造成web程序,想着简单,实际去做了,才发现不是一般的麻烦,原以为化几天时间就可以完成,没想到化了几周时间才完成,现在终于上线了。有兴趣的朋友可以去测试一下。腾讯开放平台:http://rc.qzone.qq.com/100653271 。
上面说到从客户端转到web出现了一些问题,主要原因是因为程序是使用了Microsoft.Office.Interop.Word 类库来处理Word文档。下面简单介绍一下。
1. Word转Chm原理
Word转Chm原理其实很简单。一般操作手册一类的Word文档,会设置大纲结构,按章节目录进行大纲设置,在Word视图中,显示导航窗格时,可以清楚地看见大纲目录结构。Chm的制作,微软有现成的工具可以使用,其过程也很简单,主要是以下几步:
1) 你准备了很多html,需要把这些html文件生成Chm;
2) 生成一个hhp文件,也叫Chm项目文件,指定了生成Chm的各种参数。
3) 生成一个hhc文件,意思是Chm目录中的项,指向哪个html文件。
4) 生成一个hhk索引文件,在Chm的索引中是显。
5) 调用hhc.exe对上面生成的文件进行编译,就生成了Chm文件。
那所谓Word转Chm,无非是把Word根据大纲结构拆成多个html文件,然后生成上面所讲的几个文件,然后调用hhc生成Chm。
上面所说的过程,需要使用Microsoft.Office.Interop.Word提供的接口,取得大纲结构,调用Word另存为html文件接口,保存为html文件。因为要使用Microsoft.Office.Interop.Word,调用Microsfot Word程序,带来了一些麻烦。
2. 服务器端的Office自动化
原来在客户端写代码时,用户是本地的管理员,调用Word接口,没有任何问题。一旦改成Web方式,则会有很大的问题。
按照微软件的说法是:http://support.microsoft.com/kb/257757
“Microsoft 目前建议不要从任何无人参与的、非交互式客户端应用程序或组件(包括 ASP、DCOM 和 NT Service)中进行 Microsoft Office 应用程序的“自动化”,也不为此提供支持,因为 Office 在这种环境中运行时可能会出现不稳定的现象并且/或者会死锁。”
这就是死穴。上面的链接文档说得很清楚。如果你想在服务器端调用Office自动化功能,它的建议就是不要调用。非要调用,那要解决的问题很多,而且不保证能用。
在调试过程中,主要注意如下问题:
1) 配置服务器端的Word运行环境。
关于这个问题,还是参考上面的文档,在文档有很多链接,告诉你如查配置DCOMCNFG。如果调试发现
连接到服务器失败。错误: 0x80070005
无法打开宏存储
出现“拒绝访问权限”的错误,或者是无法打开宏存储
等等很多错误,都是配置的问题。
2) 设置asp.net模拟用户
缺省的aps.net用户并没有访问Word的权限,需在设置模拟运行用户,
<identity impersonate="true" userName="someUser" passWord="UserPassWord"/>
3) 多线程运行
客户端是单个用户运行的,web端可以有很多用户时运行,需要设置转换任务在多线程中运行。
4) 排队逻辑
如果有多个用户同运行,而服务器的能力是有限的,需要处理多个用户的排列问题。
5) 守护进程
上面说过,服务器端的自动化会出问题,如果出问题,有可能死机,有可能winword.exe进行不能关闭。所以需要一个守护进程对死的winword.exe进程进行清理。
如果有什么问题可以交流。下面的链接可以在线测试,希望能有所帮助。
http://rc.qzone.qq.com/100653271
Word转Chm 在线转换应用相关推荐
- PDF转word方法汇总(在线转换、软件转换、脚本实现)
文章目录 在线转换网站 软件转换 脚本实现 高清截图软件 参考文章 在线转换网站 下面几个在线转换网站pdf导出word的效果都不错,大部分内容都能很好的转换,部分公式和字体需要手动修改. ilove ...
- PDF怎么转换成WORD转换器以及在线转换汇总
软件汇总: 1.AnyGBizSoft转换器,支持PDF转WORD,EXCEL,PPT,HTML,TEXT格式. 优点:支持批量处理,速度还可以. 缺点:只支持单向转换,无法从OFFICE转PDF. ...
- 如何把PDF转WORD文字转换器在线转换
最好的PDF转Word转换器在线转换 对于企业用户而言,当面对大量需要转换的PDF文件的时候,选择电脑端的PDF转换软件,下载安装需要花费很多时间,而且并不是所有的PDF转换器都能够转换出优质的效果. ...
- 怎样把WORD在线转换成PDF
如果想把word格式的小说或者论文文件转换成PDF文件,应该如何处理的呢,答案其实非常简单没有什么过度的操作步骤,用在线的方法就可以轻易解决了,通过网页上传WORD文档就可以非常轻松的实现两者转换,现 ...
- pdf转换器在线转换详细教程
pdf转换器在线转换详细教程 手头上恰好有一些PDF商务资料需要及时处理,将PDF转换成Word可以使得后期的编辑资料显得更加方便,但如果单纯从网上下载PDF转换软件,从下载到安装软件很麻烦也不能提高 ...
- h5在线浏览word_怎样将PDF在线转换成Word?教你成为一个高手的方法
在我们的日常生活工作学习中,是很需要的Office办公软件的.不过我们经常使用的还是PDF格式的文件.但是如果我们想在PDF文件上再编辑文字时,就要把PDF转换成Word格式再编辑.在线PDF转换成W ...
- word在线解密_实用技能 | 5款免费在线转换PDF的网站
5款免费在线转换PDF的网站 PDF在我们日常学习工作中用途都非常广泛,我们经常会有将下载的PDF文档转换为WORD或EXCEL等其他格式的文档,在我们经常接触到的文件都是付费的,使用起来需要会员,今 ...
- WPS文字在线转换成Word
WPS文字我们也会有很多人在用,但是习惯了Word文档的人突然用到WPS文件也会有所不适应,自己想去更改里面的某些参数的话都不知道在哪个地方,其实这也不是没有办法,我们可以选择使用迅捷PDF在线转换器 ...
- 批量caj转换成word在线转换怎么转?
电脑没有安装caj阅读器是不是很烦恼,因为我们没有办法打开caj文件啊,我们从网上下载的caj文件经常打不开,这时候我们可以试着转换Word文档,批量caj转换成Word在线转换怎么转? 方法1: 步 ...
最新文章
- 抖音、快手和直播行业的火爆究竟给了谁机会?
- 苹果着手自研调制解调器,以应对高通天价专利费
- 80%的Oracle JDK用户另有想法
- (MS SQL)如何实现相关文章功能(多关键字匹配)
- python 模块命名空间_如何在python模块中执行导入而不污染其命名空间?
- 已经到了快元旦,可是总是不自在
- 数据挖掘 python roc曲线_利用scikitlearn画ROC曲线实例
- 2寸的照片长宽各是多少_贵州公务员考试照片尺寸要求是多少
- MySQL Spatial Extensions 地理信息
- PHP经典面试题汇总(续)
- Android--Handler
- 卷影副本(Shadow Copies)
- 关于启动Activity之间的及普通按钮的点击事件
- CDH大数据平台搭建
- 华侨大学计算机等级,全国计算机等级考试报名系统-华侨大学.doc
- 基于php的地铁查询系统,动手构建地铁关系网,实现最短路径查询
- java同步关键字_线程同步关键字之 synchronized
- 2017.02.18 这一周的面试
- 1087 花括号展开
- c# socket套接字