大约去年什么时候 ,写一个软件产品的操作手册。写完以后,用户要求提供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 在线转换应用相关推荐

  1. PDF转word方法汇总(在线转换、软件转换、脚本实现)

    文章目录 在线转换网站 软件转换 脚本实现 高清截图软件 参考文章 在线转换网站 下面几个在线转换网站pdf导出word的效果都不错,大部分内容都能很好的转换,部分公式和字体需要手动修改. ilove ...

  2. PDF怎么转换成WORD转换器以及在线转换汇总

    软件汇总: 1.AnyGBizSoft转换器,支持PDF转WORD,EXCEL,PPT,HTML,TEXT格式. 优点:支持批量处理,速度还可以. 缺点:只支持单向转换,无法从OFFICE转PDF. ...

  3. 如何把PDF转WORD文字转换器在线转换

    最好的PDF转Word转换器在线转换 对于企业用户而言,当面对大量需要转换的PDF文件的时候,选择电脑端的PDF转换软件,下载安装需要花费很多时间,而且并不是所有的PDF转换器都能够转换出优质的效果. ...

  4. 怎样把WORD在线转换成PDF

    如果想把word格式的小说或者论文文件转换成PDF文件,应该如何处理的呢,答案其实非常简单没有什么过度的操作步骤,用在线的方法就可以轻易解决了,通过网页上传WORD文档就可以非常轻松的实现两者转换,现 ...

  5. pdf转换器在线转换详细教程

    pdf转换器在线转换详细教程 手头上恰好有一些PDF商务资料需要及时处理,将PDF转换成Word可以使得后期的编辑资料显得更加方便,但如果单纯从网上下载PDF转换软件,从下载到安装软件很麻烦也不能提高 ...

  6. h5在线浏览word_怎样将PDF在线转换成Word?教你成为一个高手的方法

    在我们的日常生活工作学习中,是很需要的Office办公软件的.不过我们经常使用的还是PDF格式的文件.但是如果我们想在PDF文件上再编辑文字时,就要把PDF转换成Word格式再编辑.在线PDF转换成W ...

  7. word在线解密_实用技能 | 5款免费在线转换PDF的网站

    5款免费在线转换PDF的网站 PDF在我们日常学习工作中用途都非常广泛,我们经常会有将下载的PDF文档转换为WORD或EXCEL等其他格式的文档,在我们经常接触到的文件都是付费的,使用起来需要会员,今 ...

  8. WPS文字在线转换成Word

    WPS文字我们也会有很多人在用,但是习惯了Word文档的人突然用到WPS文件也会有所不适应,自己想去更改里面的某些参数的话都不知道在哪个地方,其实这也不是没有办法,我们可以选择使用迅捷PDF在线转换器 ...

  9. 批量caj转换成word在线转换怎么转?

    电脑没有安装caj阅读器是不是很烦恼,因为我们没有办法打开caj文件啊,我们从网上下载的caj文件经常打不开,这时候我们可以试着转换Word文档,批量caj转换成Word在线转换怎么转? 方法1: 步 ...

最新文章

  1. 抖音、快手和直播行业的火爆究竟给了谁机会?
  2. 苹果着手自研调制解调器,以应对高通天价专利费
  3. 80%的Oracle JDK用户另有想法
  4. (MS SQL)如何实现相关文章功能(多关键字匹配)
  5. python 模块命名空间_如何在python模块中执行导入而不污染其命名空间?
  6. 已经到了快元旦,可是总是不自在
  7. 数据挖掘 python roc曲线_利用scikitlearn画ROC曲线实例
  8. 2寸的照片长宽各是多少_贵州公务员考试照片尺寸要求是多少
  9. MySQL Spatial Extensions 地理信息
  10. PHP经典面试题汇总(续)
  11. Android--Handler
  12. 卷影副本(Shadow Copies)
  13. 关于启动Activity之间的及普通按钮的点击事件
  14. CDH大数据平台搭建
  15. 华侨大学计算机等级,全国计算机等级考试报名系统-华侨大学.doc
  16. 基于php的地铁查询系统,动手构建地铁关系网,实现最短路径查询
  17. java同步关键字_线程同步关键字之 synchronized
  18. 2017.02.18 这一周的面试
  19. 1087 花括号展开
  20. c# socket套接字

热门文章

  1. 结合语言知识和深度学习的中文文本情感分析方法
  2. android设置字体为微软雅黑,css如何设置字体为微软雅黑
  3. 腾讯天御、防水墙联合InMobi发布《2020中国移动广告反欺诈白皮书》
  4. 护卫神怎么安装mysql,护卫神·主机大师增加一键安装SQLServer功能_护卫神
  5. 转 js+cookie 购物车
  6. 出售一系列设计软件及其他
  7. JS+COOKIES实现健壮的购物车!
  8. 淘宝新开店铺如何提高转换
  9. numbers打开.cvs表格中文显示为乱码!
  10. 为了好看删除快捷方式箭头的坏处!!