李順利
          隨筆-50  評論-170  文章-0  trackbacks-0

          Javadoc轉換chm幫助文檔的四種方法總結

                                                                                                                 V1.0

          目錄

          關鍵詞... 1

          前言... 1

          預處理... 1

          第一種:使用jd2chm來生成chm幫助文檔... 4

          使用原版jd2chm_exe_03轉換成chm.. 4

          生成英文版本如下... 4

          生成中文版本如下... 5

          使用網上高手改進的版本jd2chm_0.34轉換成chm.. 7

          生成英文版本如下... 7

          生成中文版本如下... 8

          第二種:使用javadoc2chm來生成chm幫助文檔... 11

          生成英文版本如下... 11

          生成中文版本如下... 12

          第三種:使用javadoc2help來生成chm幫助文檔... 18

          生成英文版本如下... 18

          生成中文版本如下... 18

          第四種:使用google code里面的javadoc2chm項目構建... 20

          生成英文版本如下... 20

          生成中文版本如下... 22

          總結... 23

           

           

                                        李順利

          [201016]

           

           

           


          關鍵詞

          Javadoc chm 轉換 jd2chm javadoc2chm javadoc2help Javadoc2chm 中文亂碼 李順利

           

          前言

                   朋友,當您在一個項目完成后,是不是需要把你的源碼打包并且把注釋打成Javadoc交給客戶,Eclipse或者MyEclipse自動打成的Javadoc文檔都是基于網頁格式的,打開是很方便,不過真的用的時候,搜索每個方法或者什么的就很麻煩了,而chm幫助文檔格式不但文件小,查閱都很方便,所以網上就出現了很多把Javadoc轉換為chm格式的幫助文檔的軟件/工具或者方法。

                   自己最近需要真的需要這個方面的需求,查閱了網上很多方法,發現很多都是寫的很不詳細,對于我這種剛接觸的很是不清楚,經過我的學習和理解,現提供從網上總結的Javadoc轉換chm幫助文檔的四種方法,詳細提供各個轉換的步驟供大家學習,并且提供英文版本和中文版本Javadoc轉換過程中出現的問題,特別是中文的時候出現的亂碼現象,也提供一些解決方案

          預處理

                   轉換之前需要了解的是chm是微軟公司發布的一種幫助文檔格式,所有,要使用下面的方法轉換,請先安裝HTML Help Workshop(后面簡稱為HHW)(實際上后面的一些處理有些都是在上面操作的)

           http://msdn.microsoft.com/en-us/library/ms669985.aspx,下載完畢后就是安裝了,很簡單。

                 還有一個很重要的問題,就是如何把項目打成Javadoc,這有人應該會說,很簡單啊,就是使用Eclipse或者MyeclipseExport功能,是的,這是可以,但是有些小的方面還是需要我們強烈注意的

          第一個問題就是Java代碼的格式問題

                 Java代碼編寫的使用有的使用GBK,有的使用UTF-8,這個時候就會有區別。使用GBK編碼的時候生成Javadoc文檔時沒有太大問題的,但是,要是整個項目的默認編碼格式是UTF-8的話,就會報警告:編碼 GBK 的不可映射字符

          clip_image002

          根本沒有成功生成Javadoc文檔,如何解決?解決方案就是在生成Javadoc的時候對VM options進行編碼設置-encoding UTF-8 -charset UTF-8,設置如下:

          clip_image004

           

          第二個問題就是如何把生成的Javadoc文檔生成英語版本

                   這個問題有的時候為了解決中文亂碼是很重要的,我們生成英文版本的Javadoc(僅對生成的Javadoc框架的語言做限制,并沒有對注釋內容的格式做限制,也就是說這個時候注釋還是可以是中文的)。

                   解決方案也是在VM options中加入-locale en_US,但是此時注意的是,如果把-locale en_US設置在后面的話,會報一個錯誤,大致是-locale en_US javadoc命令必須是在最前面,所有,正確的寫法就是-locale en_US -encoding UTF-8 -charset UTF-8(整合上面),默認如果不寫-locale的話,安裝locale語言來進行設置,當然我們中國人就是中文的了。(當然如果你工程默認編碼是GBK而且您想生成中文的幫助文檔的話,這寫都可以不要,使用默認即可)

          設置截圖如下:

          clip_image006

                   做好了上面的工作,現在就請大家看我是如何轉換成chm幫助文檔的。

          (做完這些,請生成中文和英文各一份Javadoc文檔,供后面測試使用)

           


          第一種:使用jd2chm來生成chm幫助文檔

          使用原版jd2chm_exe_03轉換成chm

          原版jd2chm_exe_03需要通過官網下載http://www.burgaud.com/jd2chm.html不過現在我這是不可以訪問的,只能通過代理來訪問下載工具。(不要擔心,最后我會把所有的工具打包供大家下載)。下載解壓后就是一個jd2chm.exe文件,怎么使用?很簡單,就是把這個文件放到需要生成Javadoc的目錄下,必須保證同一個目錄下一定要有index.html,不然不可生成,單擊,或者在cmd命令中打開exe,填寫project nametitle即可。

          生成英文版本如下

          clip_image008

          clip_image010

          生成中文版本如下

           

          clip_image012

          clip_image014

          上面整個生成都很OK,中英文支持都非常的好,唯一遺憾的是,工具生成的時候加了About…和沒有順便生成.HHP, .HHK, .HHC文件,有的時候About我們并不需要或者換成其他的,這個時候可以使用其他的chm編輯器或者HHW 反編譯修改后重新編譯生成,具體操作請大家嘗試。


          使用網上高手改進的版本jd2chm_0.34轉換成chm

          網上一個高手修改了一些很多有用的地方,如果想了解的話,請移步http://download.csdn.net/source/1024968查看并下載。

          生成英文版本如下

          clip_image016

          請注意最后一個一定要選擇y,意思就是在原Javadoc文檔里修改一點東西(就我看,就是加了一個about.html),是否同意?不同意如何生成?

          clip_image018

          clip_image020

          生成中文版本如下

           

          clip_image022

          clip_image024

          比原版本的好處是不需在放到Javadoc目錄下了,還可以使用最新的微軟雅黑字體,而且能夠生成hhchhkhhp文件,方便我們使用HHW進行編輯。遺憾還是about并且有點破壞了原Javadoc文檔(加了一個about.html),這個時候通過HHW工具很方便的進行編輯(有了hhchhkhhp文件)。修改一份給大家看看,打開hhp文件,并打開About…文件,修改部分內容(就是一個html語言寫的網頁了)

          修改完成后,保存并編譯

          clip_image026

           

          clip_image027

          對比下面修改后的About

          clip_image028

           


          第二種:使用javadoc2chm來生成chm幫助文檔

          先下載工具javadoc2chm-1.1.0.7.msi,搜索下載(后面會提供),下載完成并安裝,會在開始菜單里生成程序快捷方式。

          生成英文版本如下

          clip_image029

          clip_image031

          生成中文版本如下

          clip_image032clip_image034

           

          界面操作,很方便,英文支持非常好,中文有一處亂碼(上面目錄第一層),幾乎很完美,遺憾是Title后面加了-Generated by javadoc2chm和中文有點亂碼,沒有生成hhchhkhhp文件(實際上在轉換的時候是生成的這三個文件,后面被刪除了,如果耍點小聰明的話,可以在生成過程中復制一份,如果速度快的話,會提示文件已經被刪除,是否重試,這個時候再轉換,看文件生成后點重試即可得到這三個文件,不要反編譯多好),這種方法建議使用英文版本。

          自己修改了一份中文版本的轉換,現提供部分步驟

           

          clip_image036

          clip_image038clip_image040

          clip_image041

          clip_image043

           

          看看修改后的效果吧

          第一次打開的首頁

          clip_image045

          個性化設置:加入Blog,請大家有空多踩踩我的博客:http://blog.sina.com.cn/usc3l

          clip_image047

           

           

          上面的兩種方法也是我極力推薦大家使用的,下面的兩種方法僅供學習,里面有很多問題,中文亂碼什么的,都會出現。

           


          第三種:使用javadoc2help來生成chm幫助文檔

          官方網站http://javadoc2help.sourceforge.net/,下載解壓即可,里面最重要的就是lib目錄下面的Javadoc2Help.jar,注意我們就是使用這個jar文件進行生成。官網上也提供了如何使用。

          生成英文版本如下

          Cmd命令進入jar文件目錄,寫下面的命令回車

          java -jar Javadoc2Help.jar -chm -src f:\docs\api_en_US -dest f:\docs\api_en_US2

          (具體路徑請根據需要修改)

          clip_image049

          注意:-dest后面的目錄請不要寫原目錄,不然生成不了chm并且覆蓋了原目錄文件。

          clip_image051

           

          生成中文版本如下

          Cmd命令進入jar文件目錄,寫下面的命令回車

          java -jar Javadoc2Help.jar -chm -src f:\docs\api_zh_CN -dest f:\docs\api_zh_CN2

          (具體路徑請根據需要修改)

          clip_image053

          注意:-dest后面的目錄請不要寫原目錄,不然生成不了chm并且覆蓋了原目錄文件。

          clip_image055

           

          基本能夠完成轉換,但是不了建立索引,不能設置Title和文件名,對中文嚴重不支持不管是英文版本還是中文版本的chm都出現了中文亂碼現象,還有chm文件就是便于查詢,竟然不能生產索引,建議不使用。

           


          第四種:使用google code里面的javadoc2chm項目構建

          請參考http://code.google.com/p/javadoc2chm/下載rubyjavadoc2chm-0.1.zip等必要步驟。

          Google code上頁介紹了如何使用,解壓壓縮包。使用這個,就必須先安裝rubyHHW

          生成英文版本如下

          Cmd命令進入javadoc2chm目錄,寫下面的命令

          ruby createhhp.rb api_en_US f:\docs\api_en_US回車

          "C:\Program Files\HTML Help Workshop\hhc.exe" api_en_US.hhp回車

          (注意C:\Program Files\HTML Help Workshop\hhc.exeHHW默認安裝路徑,如果不是請自行修改)

          clip_image057

          生成的chm文件在解壓的包的文件夾里:

          clip_image059

          clip_image061

          打開后是上面的這樣子,具體的原因不清楚,不過解決的方法就是把Javadoc文件夾和ruby命令的文件夾不要放在同一個盤內,不在同一個盤里就會使用絕對路徑。重修生成,但是這種方法也并不適合,當我們把原Javadoc文檔的文件夾刪除或者移動了,這個時候也會出現上面的情況。具體的我打開了hhp文件查看了一下,應該是這種方法使用的是覺得路徑,而并沒有把文件進行包裝在生成。(要查看下面截圖的效果,請把docs文件夾保留)

          命令

          ruby createhhp.rb api_en_US e:\docs\api_en_US

          "C:\Program Files\HTML Help Workshop\hhc.exe" api_en_US.hhp

          clip_image063

           

          生成中文版本如下

          Cmd命令進入javadoc2chm目錄,寫下面的命令

          ruby createhhp.rb 中文幫助文檔 e:\docs\api_zh_CN回車

          "C:\Program Files\HTML Help Workshop\hhc.exe" 中文幫助文檔.hhp回車

          (注意C:\Program Files\HTML Help Workshop\hhc.exeHHW默認安裝路徑,如果不是請自行修改)

          clip_image065clip_image067clip_image069

          不能設置Title和中文的Title時候亂碼,操作麻煩,還要安裝ruby輔助軟件。

           

           

           

           

          總結

          上面的一些不完美的地方,都可以使用HTML Help Workshop進行改善。實際上也是因為此次機遇,讓我學習了HTML Help Workshop的操作,以后制作chm文檔就很方便了。

          上面方法通過參考網上的操作總結自己親自實際而成,需要探討的請聯系QQ506817493

           

           

          順利提高所有工具和制作成果的文件下載(不包括ruby輔助軟件,自行下載)

          Javadoc轉換chm幫助文檔的四種方法總結.rar

          clip_image070

           

           

           

          順利寫于201016



          博客中的一些下載已經放到了百度云了,請根據需要下載。【點我去百度云下載】

          最后弱弱地說一下,如果可以的話,轉載請提供出處( ),謝謝。
          posted on 2010-01-07 21:26 李順利 閱讀(13199) 評論(17)  編輯  收藏

          評論:
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2010-01-07 22:43 | 匿名
          博主真是好人啊,總結的這么好,學些  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2010-01-07 23:09 | 在線詞典
          不錯,很好。  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2010-01-08 09:55 | feenn
          看了一下說一點感受:其實chm的javadoc文檔最重要的一點是可以使用索引來快速查找某一個類或者方法的文檔,不過貌似沒有在博主文章中的圖片上體現出來。
          另外推薦使用FAR HTML來制作,網上有很多綠色的版本。這款軟件在文檔制作方面比微軟自家的強很多,推薦博主使用。
          我平時是使用自己寫的一個程序來生成目錄、索引和工程文件的,然后使用FAR HTML簡單編輯一下就可以生成一個很好用的chm,推薦博主有時間的話可以自己寫一個。
            回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2010-01-08 09:57 | 李順利
          實際上博文里也已經體現了,chm文檔的作用就是方便查找,當然需要生成索引了,如果方便的話,可以下載后面的文檔,里面有生成好的chm幫助文檔,大家可以看看,絕對方便。
          還是很感謝您的建議,謝謝。  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2010-01-08 09:58 | 李順利
          @feenn
          實際上博文里也已經體現了,chm文檔的作用就是方便查找,當然需要生成索引了,如果方便的話,可以下載后面的文檔,里面有生成好的chm幫助文檔,大家可以看看,絕對方便。
          還是很感謝您的建議,謝謝。  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2011-07-14 21:43 | 小雨
          樓主好人啊,太感謝了  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2011-09-07 21:58 | 1927105
          不想留姓名都不行,呵呵,謝謝lz分享  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2011-10-18 11:11 | 王麗雪
          好貼啊,多謝幫忙,按樓主的方法終于成功了。  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2011-11-10 21:15 | 李順利
          @Moncler Coats
          cool... welcome and thanks for your support  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2012-12-14 18:04 | avi9111
          寫這么詳細,必須支持下,還有工具下載  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2012-12-17 11:13 | avi9111
          試用了一下,博主的方法還是不錯的
          不過我還是想問個問題
          有沒有java的文檔引擎?

          javadoc-低級,如果你只想查某個方法的用法,而不是類或者整個框架,你是找不到的
          chm-中級,可以搜索類,方法名可以搜索么?
          csdn-高級,從05年開始,csdn已經支持全文索引的,還可以搜索支持實例,還整合到了visual studio里面了(理論上可以,實際上有問題,csdn網站已經夠好用了)

          到底java這個鬼東西,有沒人或者團隊做文檔引擎的?  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2012-12-17 11:19 | 李順利
          @avi9111
          不知道 GroovyHelp 能否滿足你的要求, ps. GroovyHelp 我也不太熟悉,只是知道有那么一個東西在那兒。

          javadoc的原意應該就是你必須知道做這件事情需要那么一個類,而這個類的方法你不是很清楚,那么就查查,或者這個方法中的一些特殊情況(異常什么的)你不是很清楚,這個時候你也可以看看。

          我相信,如果你都知道方法(名)了,類應該不難查到。  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結[未登錄] 2012-12-27 14:42 | andy
          謝謝  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2013-03-19 22:01 | tripod2k
          非常有用,太贊了!  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結[未登錄] 2013-05-28 14:47 | hello
          不得不贊..  回復  更多評論
            
          # re: Javadoc轉換chm幫助文檔的四種方法總結 2013-08-13 11:30 | testok
          學習了,贊一個  回復  更多評論
            
          # 如果直接通過javadoc發布成html,可以實現搜索功能嗎?//re: Javadoc轉換chm幫助文檔的四種方法總結 2015-04-08 19:53 | Eric Zhan
          如果直接通過javadoc發布成html,可以實現搜索功能嗎?  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 陵川县| 庐江县| 平谷区| 上思县| 镇远县| 洞口县| 青冈县| 延庆县| 永德县| 玉龙| 宜宾市| 盱眙县| 临朐县| 股票| 合肥市| 洛川县| 安溪县| 浏阳市| 金昌市| 怀仁县| 饶阳县| 兴仁县| 荥经县| 石屏县| 民勤县| 奎屯市| 上虞市| 集贤县| 浮山县| 康乐县| 广安市| 吉林市| 枣强县| 云龙县| 朝阳县| 凤翔县| 寿宁县| 资阳市| 花莲市| 安丘市| 隆安县|