简体   繁体   English

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

[英]How to compile HTML files into CHM file?

How in my code (Delphi) to make CHM files from a bunch of HTML (with linked image files)? 如何在我的代码(Delphi)中从一堆HTML(带有链接的图像文件)制作CHM文件? Details needed, thanks! 需要详细信息,谢谢!

The normal way to do this is to use hhc from Microsoft's HTML Help Workshop to build a help project, specified in a .hhp file. 执行此操作的常规方法是使用Microsoft的HTML Help Workshop中的 hhc来构建在.hhp文件中指定的帮助项目。 You can write the .hpp file yourself, and all its auxiliary files. 您可以自己编写.hpp文件及其所有辅助文件。 Or, more commonly, you can use a 3rd party help authoring tool of which there are many. 或者,更常见的是,您可以使用第三方帮助创作工具,其中有很多。

I don't see where Delphi comes into the building of the .chm file, but if I've missed something then please update your question to add more details. 我没有看到Delphi在.chm文件的构建中的位置,但如果我错过了某些内容,请更新您的问题以添加更多详细信息。

Maybe there are libs/components to do that. 也许有libs /组件可以做到这一点。 Personnaly, I made it myself as it is quite easy. Personnaly,我自己做了,因为它很容易。

Your application should 你的申请应该

  • list all files to include 列出要包含的所有文件
  • Create HHC + HHP + HHK files content- 创建HHC + HHP + HHK文件内容 -
  • call command line hhc.exe with HHP parameter 使用HHP参数调用命令行hhc.exe

As an example, have a look to DelphiCodeToDoc CHM generator. 举个例子,看看DelphiCodeToDoc CHM生成器。
Read uDocGenCHM_Tools.pas and uDocGeneratorChm.pas in svn repository of my project (too large to post here!). 在我的项目的svn存储库中读取uDocGenCHM_Tools.pasuDocGeneratorChm.pas (太大了,不能在这里发布!)。 https://dephicodetodoc.svn.sourceforge.net/svnroot/dephicodetodoc/trunk/DelphiCodeToDoc/Source/Generator/Chm/ https://dephicodetodoc.svn.sourceforge.net/svnroot/dephicodetodoc/trunk/DelphiCodeToDoc/Source/Generator/Chm/

Free Pascal includes a CHM read/write library (without dependancies), and SVN versions also contain a basic commandline CHM compiler. Free Pascal包含一个CHM读/写库(不依赖),SVN版本还包含一个基本的命令行CHM编译器。 The license is the same as the rest of FPC's Library, LGPL with static linking exception, so fine for commercial use. 许可证与FPC库的其余部分相同,LGPL具有静态链接例外,因此非常适合商业用途。

I think it should be fairly easy to port to Delphi. 我认为移植到Delphi应该相当容易。

The somewhat outdate package page for this package is 这个软件包有点过时的软件包页面

http://wiki.freepascal.org/chm http://wiki.freepascal.org/chm

The package was originally developed for FPC's library documentation tool fpdoc. 该软件包最初是为FPC的库文档工具fpdoc开发的。 (Documentation is generated nightly in some cases, and all FPC/Lazarus' servers are Unix) (在某些情况下每晚生成文档,所有FPC / Lazarus的服务器都是Unix)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM