从Windows 3.0到Windows 95,系统使用的帮助文件一直是.hlp格式,在安装Windows98以后,我们发现系统中增加了一种.chm格式的帮助文件,与hlp文件相比chm文件有很大的改变,功能更加强大,支持的媒体文件更多,使用起来也更便捷。
chm文件可用来制作软件说明书、产品介绍、学习教程、电子图书、报刊的电子版本、个人资料的整理等等。本文将由浅入深地介绍chm文件的制作方法,希望对读者能有所帮助。
一、chm文件及其制作工具HTML Help WorkShop简介
chm文件是微软1998年推出的基于html文件特性的帮助文件系统,以替代早先的WinHelp帮助系统,在Windows 98 中把chm类型文件称作“已编译的HTML帮助文件”。被Internet Explorer支持的JavaScript、VBScript、ActiveX、Java Applet、Flash、html图像文件(GIF、JPEG、PNG)、音频视频文件(AU、MIDI、WAV、AVI)等等,chm同样支持,并可以通过URL地址与因特网联系在一起。
是典型的chm文件运行界面,其窗口可分为3部分,上面是功能按钮区,罗列了几个常用的浏览器按钮;右边是主窗口;左边是导航嵌窗。导航嵌窗用来快速定位感兴趣的内容,这里可包含标题、索引、搜索和标签。按“隐藏∕显示”按钮可以把左边的导航嵌窗关闭或打开,其他几个按钮浏览器中的也一样,“选项”中是一些常用的控制命令。
在Windows 98及以后的Windows版本中,chm文件的运行程序(hh.exe,27K)已是作系统的一部分,它控制支持ActiveX组件的网页浏览器(如微软的Internet Explorer 3.0以上版本)来解释并运行chm文件中的元素,这样的好处就是能跨平台运行chm文件,只要有不同平台上的运行器和浏览器,chm文件就不再需要重新进行编译而直接使用,在不同语言的作系统下,chm文件也会自动显示对应语种的菜单。
在PC机上使用chm文件要求使用者的作系统装有IE3.0 或以上版本,如果使用者仍在使用Windows 95 系统,就需要运行一个小程序(被称作chm文件阅读升级包)hhupd.exe(700K),以便在Windows 95 中也能正常使用chm文件。而在Windows 98以后的系统中可以直接使用chm文件。最新的Hhupd.exe的下载地址是:http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/hhupd.exe。
制作chm文件的最佳工具是微软的HTML Help WorkShop,其最新版本号为1.31。虽然是英文版,但它的几个单词都比较简单,稍有一些英文基础的人基本上都能应付,如果不懂英文也没关系,当你对照程序看完此文后,也许你对HTML Help WorkShop已能运用自如了,或者借助“东方快车”、“金山快译”等软件把英文菜单转为汉字。
HTML Help WorkShop 的作界面如图(2)所示。上面是菜单栏,菜单下面的工具栏一般有5个按钮,分别是[New 新建]、[Open 打开]、[Compiled HTML file 编译过的HTML文件]、[View Compiled file 查看编译过的文件]、[Display online information 在线帮助]。
为叙述方便,下文中将把“HTML Help WorkShop”简称为“HHW”。
二、制作前的准备
1.下载并安装HTML Help WorkShop
你可以在微软的站点上下载HHW软件,也可以直接通过地址 http://msdn.microsoft.com/librar ... /wkshp/htmlhelp.exe下载。下载后直接运行htmlhelp.exe,一路“next”就可安装成功。
HHW内含一个图形编辑处理程序(HTML Help Image Editor),图形文件的处理也可以由它简单处理。
2.几个概念
相对来讲制作chm文件比较简单,大量的工作实际上是在前期制作html文件上,你在chm文件中所看到和听到的,与你在浏览器中的结果是一样的。你可以专门为制作chm文件而编制HTML,也可以直接利用现成的个人主页快速做成chm文件以便向外发放,所不同的是,在个人网站上每个HTML文件之间必须由超级链接相连,而用来制作chm文件的HTML文件组里,允许有独立的HTML文件,用户可以通过导航嵌窗来实现对其访问。
现在让我们先了解一下几个用到的概念:
(1)项目文件[Project——.hhp文件]:包含创建chm文件所需的HTML文件信息、目录表文件信息、索引文件信息、窗口属性、搜索、书签定义等内容。一个chm文件对应着一个项目文件。
(2)目录表文件[Contents——.hhc文件]:包含目录表中每个标题与HTML文件的关联关系。目录表就好像是一本书的目录页。该文件不是必须的,如果创建的chm文件没有导航嵌窗,就可以不创建.hhc文件,这样一来HTML中的跳转就要全部借助其内部的超级链接了。
(3)索引文件[Index——.hhk文件]:一些专业书籍在其后面一般有个索引表,利用已经排序的字母、单词或词组来帮助读者快速定位到需要的一个或几个位置。在chm中也可以使用索引。索引文件中就包含每个关键词(keyword)与HTML文件的对应关系。与目录文件中的标题不同的是,一个关键词可以对应多个HTML文件。索引文件也不是必须的,如果你的chm文件的信息不是太复杂,不创建它也行。
(4)搜索:chm文件的搜索选项卡允许用户在所有chm文件中全文搜索字、词或短语,将它们的标题显示出来,并把搜索出的词组高亮显示。如果使用搜索功能,chm文件会稍大一点。
(5)书签:在我们阅读图书时,有时会在一些地方放个书签,便于以后能快速找到该页,在chm中也同样有此功能。你可以把一些标题放到书签列表中,下次你可以通过书签快速找到对应标题。
(6)窗口属性:是指chm文件的运行窗口。你可以自由定义窗口初始位置、大小、按钮、导航嵌窗、显示模式等。
目录、索引、搜索和书签是chm文件的导航嵌窗中的4个导航选项,任何一个都可以随意打开或关闭,当4个功能全部关闭时,导航嵌窗将自动消失。
因为HHW对chm的控制非常灵活,所以你可以制作出功能强大的chm文件,也可以制作出非常简单的chm文件。另外在制作中我们需要指明的是基本的HTML文件,而图形、视频、声音等文件不需要指明位置,HHW会根据HTML文件中的链接找到它们。
三、制作简单的chm文件
我们把没有导航功能的chm文件称作“简单的chm文件”,它没有左边的导航嵌窗,网页之间的跳转全部依靠HTML文件内部的超级链接。
下面介绍制作简单的chm文件(无导航功能)的步骤,这些步骤的叙述将在“制作较复杂chm文件”中省略或简化,所以不可不读。
1.制作没有功能按钮的chm文件
首先你最好把所有要用到的html文件及有关图形、声音、视频等文件复制到一个空文件夹中(当然可以包含子文件夹),并在IE浏览器中检验通过,然后启动HHW。在File菜单中选[New],弹出新建文件对话框。
HHW可以新建:项目[Project]、文本文件[Text]、HTML文件、目录表文件[Table of Contents]和索引文件[Index]。我们选“项目”,弹出新建项目向导,提示你可以把以前的WinHelp项目文件转换为HHW项目文件。我们直接按“下一步”。
在这里指定欲创建的项目的位置和文件名,我们按[Browse],选择HTML文件所在目录,并定义个项目文件名如test1(程序自动添加.hhp后缀),按“下一步”。在出现的对话框中指定已经存在的文件。因为我们目前只有HTML文件而没有目录文件(.hhc)和索引文件(.hhk),所以只在[HTML files]前面打上小勾。按“下一步”,进入添加HTML文件的窗口。按[Add]按钮,把有关的标题HTML文件全部选中加入(可以一次全部选中加入)。按“完成”后,程序就会进入项目编辑界面,也就是HHW的主界面(参考图2)。
首先我们给将来的chm文件的窗口标题条指定与chm内容相符的文字(如果不指定,则软件默认为“帮助”):按[Project]项目选项中左边第3个按钮“新建/编辑窗口显示风格”,在弹出的窗口类型中随便输入一个名字如“12”,按“OK”后就会进入“窗口属性”定义对话框。在[General]选项卡中的[Title bar text]中输入标题条文字“test1——最简单的chm文件”如图(3)。
因为我们不需要导航嵌窗及功能按钮部分,所以再确认一下在导航嵌窗[Navigation Pane]中不要选中[Windows with navigation pane, topic pane, and button bar],如图(4)。按确定退回HHW主界面。
现在按[Compiled HTML File]编译按钮或者通过在[File]菜单中选择[Compile]进行编译,chm文件就会在指定位置创建完成。这时你可以运行一下新创建的chm文件,不难发现,chm已经包含了所有用到的HTML文件、图形文件等,相当于是把全部网页文件打包到chm文件中了。如图(5)就是最简单的chm文件显示效果。很简单吧?
2.制作包含功能按钮的chm文件
与上面作相同,所不同的是:在进行到“窗口属性定义”作时,在[General]中指定chm文件标题栏中的文字“test2——带功能按钮的chm文件”,在[Button]中指定欲在 chm 文件的按钮区中显示的按钮如图(6),在[Navigation Pane]导航嵌窗设置里选中显示导航嵌窗(与上面不一样),如图(7)。其他选项卡中我们使用默认值(后面在介绍)。设置好后,按编译按钮,生成的chm文件如图(8)所示。因为我们没有生成目录表文件和索引文件,所以在chm中导航窗口不会显示出来。
上面制作的chm文件比较简单,但有时也很实用,对于比较简单的几个HTML文件也已经足够了。如果HTML比较复杂,也可以使用分帧处理,同样会做出出很不错的chm文件,就像我们进入一些有分帧页面的网站时的作方式一样。如图(9)。
四、制作较复杂的chm文件
在Windows 98中我们常见的chm文件多数具有目录及索引,有的还有搜索和书签,这在使用chm文件的过程中会比较方便。下面我们就来制作带目录、索引、搜索、书签的chm文件。在这里我还将介绍一些常用的选项功能的解释。
此类chm文件一般包含有多个HTML文件。与前面一样,你需要先把网页文件做好,放到硬盘一个文件夹中,如 test3。进入HHW后选新建项目,并指定新建项目文件的位置和文件名(如test3),在已经存在的文件中选中目录中所有用到的HTML文件后,进入HHW主界面。
1.目录表文件的创建
按[Contents]选项卡,选择[Create a new contents file]创建新的目录表文件,并命名它为 contents.hhc。然后进入目录表编辑窗口,如图(10)。在目录编辑窗口左侧,从上到下排列有11个按钮,前5个分别是:目录表属性设置、插入标题、插入页面、编辑所选标题或页面属性、删除标题或页面,下面4个箭头用来调整所选标题或页面的位置及从属关系,最后两个分别是显示HTML文件源码和保存文件。
插入一个标题:按[Insert a heading]按钮,弹出[Table of Contents Entry]对话框,如图(11),在[Entry title]中输入标题内容,如“简介”。按[Add],在弹出的[Path or URL]对话框中选择Title为“简介”对应的 HTML 文件,如图(12),按返回后一个标题就添加完成了。这里你也可以按图(12)下面的[Browse...]指定前面没有选择加入的HTML文件,或者直接在[File or URL:]中输入。
在标题“简介”下面再添加一个标题如“准备”:按[Insert a Heading]按钮,会弹出一个询问是否在所选标题上面插入标题的对话框,我们按“否”,在[Entry title]输入页面标题“准备”,并按[Add]指定对应的HTML文件,返回后就又加了一个标题。
在标题“准备”下面插入一个页面(或者是子标题)如“下载”:按[Insert a page]按钮,在[Entry title]输入“下载”,并按[Add]指定对应的HTML文件,返回。
同样我们可以加入许多标题、子标题、页面,并可以利用那4个箭头按钮来调整标题或页面的位置及从属关系。HHW可以支持9个级别深度。
修改标题及改变标题图标的方法:选中标题,按[Edit selection]按钮,可以对其重新指定所关联的HTML文件。在[Advanced]中通过下面的[Image index]改变标题的图标。如图(13)。
设置目录属性:按[Contents properties]按钮后我们可以改变目录表显示样式等,使用默认设置就行。
所有标题创建完成后,按左下角的[Save File]按钮,一个目录表文件就创建完成了。如图(14)。
2.索引文件的创建
与目录文件的创建非常类似,只是索引文件中需要指定关键词与HTML文件的关联关系。不再赘述。请参考上述目录表文件的创建方法。
3.项目文件的设置
按[Project]选项卡,进入项目编辑窗口(即默认的HHW介面)。其左边排列有7个按钮,分别是:项目属性设置、增加或删除HTML文件、增加或改变窗口属性定义、API信息、显示HTML源码、保存文件、保存文件并编译。
我们按[Change project options]按钮对项目进行设置:通常需要做的是,在[General]选项卡的[Default file]中指定封面页。封面页就是当打开chm文件时默认显示的HTML文件。封面页可以是目录表中的某个标题所对应的HTML文件,也可以是在目录表中不存在的专门用来作封面的 HTML 文件。如图(15)。
如果想在chm文件中具备全文搜索功能,还需要在[Compiler]中选中[Compile full-text Search Information],如图(16)。
其他内容一般可以不去理会。
4.窗口显示设置
按第3个按钮[Add/Modify windows defunitions]设置窗口属性:这里的设置将决定chm文件的显示风格。在弹出的对话框中我们给窗口风格随便指定一个名字(如12),按OK就进入了[Windows Types]对话框。常用的几个设置项为:
(1)General常规
[Title bar text]中输入欲在chm文件的标题栏里显示的文字,如“轻松制作chm文件”。参考图(3)。
(2)Buttons按钮
选择欲在chm中出现的按钮。参考图(6)。
(3)Position位置
[Save user defined windows position after first use]如果选中,则系统会保存chm使用者最后一次退出 chm 文件时窗口的位置、大小等,下次再打开chm时,系统会恢复这些属性。如果不选中,则每次都以你默认的窗口大小、位置打开chm文件。
Left和Top是指定打开chm时窗口左上角的位置,Width和Height则指定窗口的宽和高。参考图(17)。
(4)Files 文件
如果选择了显示Home、Jump按钮,就在这里输入对应的URL超链接地址,比如你的个人主页地址。
(5)Navigation Pane 导航嵌窗
[Windows with navigation pane,topic pane,and button]如果不选,则chm窗口没有导航嵌窗和按钮。
[Navigation pane width]中指定导航嵌窗的宽度。
[Open with navigation pane closed]如果选中,在打开chm文件时导航嵌窗默认为关闭状态。
[Auto sync]如果选中,chm中的目录标题与HTML内容自动保持同步。
[Automatically show/hide navigation pane]如果选中,在chm为活动(当前)窗口时,导航嵌窗显示,当不是活动窗口时,导航嵌窗自动隐藏。
[Default tab]中指定导航嵌窗中默认的显示项。可以是目录、索引、搜索、书签。
[Search tab]如果选中,在chm中将具备全文搜索功能,而[Advanced]可以让chm具有高级搜索的功能(使用and,or,not,near)。
[Favorites tab]如果选中,chm文件就会具有书签功能。如图(18)。
另外2个选项夹可以不管,使用默认设置就行。
5.编译成chm文件
经过上面的设置,现在我们可以进行编译了。按工具栏中的编译按钮或者直接按项目窗口左下方的[Save all file and Compile]按钮,几秒钟以后chm文件就被编译生成。然后用鼠标双击此chm文件就可以看到作品了,如果发现问题还可以返回HHW里进行修改调整后再编译,或者在以后双击.hhp 文件进行修改。
五、反编译一个chm文件
有时我们需要把一个已经存在的chm文件反编译,以便把其中的全部内容取出。反编译的方法是:先创建一个新的文件夹,然后进入HWW程序,在[File]菜单中选[Decompile],指定目标文件夹的位置和欲反编译的chm文件,按OK,反编译很快就会完成。这时在目标文件夹中就保存着chm中的所有文件和子文件夹,你可以慢慢研究别人的技巧了,或者对其进行修改后再编译。其实HHW中还有许多功能和扩展设置选项,因篇幅所限不再介绍,大家自己探索吧。
本文介绍的软件收录于《大众软件CD》2000年第9期\BBX\下。 |