如何将HTML文件编译成CHM文件?

6

在我的代码(Delphi)中如何从一堆HTML(带有链接的图像文件)制作CHM文件?需要详细说明,谢谢!

3个回答

8
正常的做法是使用微软的HTML Help Workshop中的hhc来构建一个帮助项目,该项目在.hhp文件中指定。您可以自己编写.hpp文件及其所有辅助文件。或者更常见的是使用第三方帮助创作工具,有很多种选择。
我不知道Delphi在构建.chm文件方面的作用,但如果我错过了什么,请更新您的问题以添加更多细节。

文档生成工具? - Marco van de Voort
@Marco,抱歉,我不明白你的评论。 - David Heffernan
使用Delphi编写的文档工具是CHM生成库的有效应用。我知道这一点,因为我们也是这样做的 :) (作为回复您的“不明白Delphi何时涉及…”) - Marco van de Voort
@Marco,好的,我觉得你的意思是楼主可能想要编写自己的帮助制作工具,并使用Delphi代码生成.chm文件。这就是你回答的关键所在。如果是我,我会倾向于像大多数专业软件包一样调用hhc,但这显然是个人偏好。 - David Heffernan
@marco 我正在Windows 7上使用Flare,它依赖于HTML帮助工具。我认为部署不是问题。 - David Heffernan
显示剩余3条评论

6
也许有一些库/组件可以做到这一点。个人而言,我认为这很容易,所以我自己做了。
您的应用程序应该:
  • 列出所有要包含的文件
  • 创建HHC + HHP + HHK文件内容
  • 使用HHP参数调用命令行hhc.exe
例如,请查看DelphiCodeToDoc CHM生成器。
在我的项目的svn存储库中阅读uDocGenCHM_Tools.pas和uDocGeneratorChm.pas(太大了,无法在此发布!)。 https://dephicodetodoc.svn.sourceforge.net/svnroot/dephicodetodoc/trunk/DelphiCodeToDoc/Source/Generator/Chm/

谢谢,我会查看的。如果有示例代码就更好了。 - Edwin Yip
我接受这个答案,因为它提供了Delphi的示例代码。但其他答案也很棒!谢谢大家! - Edwin Yip

3

Free Pascal 包含一个 CHM(微软帮助文档)读写库(没有依赖项),而且 SVN 版本也包含基本的命令行 CHM 编译器。许可证与 FPC 的其余库相同,采用 LGPL 许可证,附带静态链接例外,因此适用于商业使用。

我认为将其移植到 Delphi 应该相当容易。

这个包的页面有些过时,地址是:

http://wiki.freepascal.org/chm

该包最初是为 FPC 的库文档工具 fpdoc 开发的。(在某些情况下,文档每晚都会生成,而且所有 FPC/Lazarus 服务器都是 Unix 系统。)


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