Java - 将doc/docx文件转换为chm文件

6

我有一个将Word文档(.doc/.docx)文件转换为帮助文件(.chm)格式的想法。我想使用Java来转换文件。我的方案很简单。将目录页和其他链接制作成包资源管理器或文件资源管理器,使用户导航更简单、更快速、更容易浏览文档页面。

所以,我的问题是:

是否有任何Java本地库可以导入并用于文件转换?

请分享您实现上述概念的想法。


2
听起来是个好主意,但实际上非常困难。将DOC转换为任何格式都很困难,DOCX稍微容易一些,但仍然是一项艰巨的工作。由于您正在Java领域工作,您可能希望找到适用于所有平台的帮助格式(chm仅适用于Windows)。 - Paul Jowett
1
@jowierun 是的,我知道chm只适用于Windows系统。 - Avadhani Y
2
Apache POI支持读写doc文件。 - oers
这是一组jar文件,只是一个Java库。它在(免费的)Apache许可下开源。 - oers
你需要使用SVN进行检出,因为它仍处于实验阶段。 - NoBugs
显示剩余4条评论
2个回答

6

如果你安装了Microsoft HTML Help Workshop,那么在Java中完成这项任务就不是一件很困难的事情了。

  1. First you can extract the text of the Word documents via Apache POI and then output them as HTML documents to a temporary directory.
  2. Next you need to create a HHP file. It should be fairly easy to create as it is a text file. Just follow the specifications given here
  3. Then you should have a corresponding HHC file as well. Its a simple HTML document in the following format:

    <html>
    <head>
    </head>
    <body>
    <ul>
    <li><object type="text/sitemap">
    <param name="Name" value="Foo Directory">
    <param name="Local" value="BarDirectory/index.htm">
    <param name="ImageNumber" value="1">
    </object></li>
    <ul>
    <li><object type="text/sitemap">
    <param name="Name" value="Topic1">
    <param name="Local" value="BarDirectory/Bar.htm">
    <param name="ImageNumber" value="11">
    </object></li>
    <li><object type="text/sitemap">
    <param name="Name" value="Topic1">
    <param name="Local" value="BarDirectory/Foo.htm">
    <param name="ImageNumber" value="11">
    </object></li>
    </ul>
    </ul>
    </body>
    </html>
    

    Similarly look up the structure for a HHK file.

  4. Once you are done you can execute hhc.exe <inputfile.hhp> from Java. That should do the job.

@Avadhani 是的,我明白。但是使用HTML帮助编译器似乎是获取最终CHM文件的唯一可能方式,因为CHM是纯Windows专有格式。 - Sankha Narayan Guria

0

我不知道或者说我找不到相关的方法。但是,你可以考虑编写一个Java程序来代替手动操作所需的软件,通过发送命令让程序自动完成。我可以提供一些代码,但我没有用Java实现过。

另一种方法是使用VBScript调用特定的Java类运行,并使用VBScript向程序发送按键。这种方法的唯一缺点是无法在后台运行,直到程序完成前也不能使用计算机。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接