實作chm的生成大緻有三種方式。一種是基于市面上的chm軟體手動操作軟體生成。一種是基于dos指令,調用底層的dll來生成。一種是基于java來生成的。這三種方式根據實際的應用場景,可以自行的延伸。
1、easy chm百度下載下傳即可。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcucDN0gzM0QjNy0iM2IzMzMDM3EzMwkDMxIDMy0iNzQDNxcTMvwVOwEjMwIzLcZzM0QTM3EzLcd2bsJ2Lc12bj5ycn9Gbi52YuAjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
2、打開之後:
通過浏覽按鈕選擇要打包chm的檔案夾,注意隻能是檔案夾不能是檔案哈。順便關注下左下方的搜尋選項。不要問我是什麼,點進去看:
看到TOC這三個字了沒,先給你們提個醒哈。後面有用。
點選确定之後如下:
點選工具欄的編譯按鈕。準備生成chm
生成之前呢,請先确認一點CHM設定,如上圈的,裡面有一個地方必須要勾起來,如果不勾起來會有如下的問題,下圖1是勾什麼,圖2是勾起來和沒勾起來的效果圖:
将用來生成chm的html裡頭,檢查下,該html的meta是否是GB2312。如果不是,那麼請修改成GB2312,同時利用idea或者其他軟體修改該檔案編碼為GB2312(meta變了的話,檔案編碼一定要同時變,不然顯示會亂碼的)。說了這麼多,那麼為啥要這樣設定呢,因為easy chm的全文搜尋-中文搜尋隻支援meta = GB2312。如果你不設定的話,你會發現,你搜尋中文,搜尋不到,搜尋數字和字母又沒問題。
生成的html檔案是gbk編碼格式,亂碼的原因就是gb2312的字元集太小,導緻部分字認不到出現了亂碼。html的meta保持gb2312保證生成的chm的搜尋功能可以正常使用