2012-05-02 77 views
6

我有將Word文檔(.doc/.docx)文件轉換爲幫助文件(.chm)格式的想法。我想用Java來轉換文件。我的公式很簡單。爲了在Word文檔中創建目錄頁面和其他鏈接,作爲包資源管理器或文件資源管理器,使用戶導航更簡單,更快,更容易在文檔中的頁面之間導航。Java - 將doc/docx文件轉換爲chm文件

所以,我的問題是:

是否有任何的Java本機庫可導入並用於文件轉換?

請分享您的想法來實現上述概念。

+2

這聽起來像個好主意,但在實踐中非常困難。把DOC轉換成任何東西都很困難,DOCX不那麼重要,但仍然是一個很大的工作。由於您在Java領域工作,您可能希望找到適用於所有平臺的幫助格式(chm僅適用於Windows)。 –

+1

@jowierun是的,我知道CHM只適用於Windows .. –

+2

Apache POi有[支持閱讀和編寫DOC文件](https://poi.apache.org/hwpf/index.html)。 – oers

回答

6

在Java中完成這項任務非常困難。但是,如果您安裝了Microsoft HTML幫助研討會,您仍然可以執行此操作。

  1. 首先,您可以通過Apache POI提取Word文檔的文本,然後將它們作爲HTML文檔輸出到臨時目錄。
  2. 接下來你需要創建一個HHP文件。因爲它是一個文本文件,所以創建應該相當容易。只要按照給定的規格here
  3. 然後你應該有一個相應的HHC文件。它是一個簡單的HTML文檔,格式如下:

    <html> 
    <head> 
    </head> 
    <body> 
    <ul> 
    <li><object type="text/sitemap"> 
    <param name="Name" value="Foo Directory"> 
    <param name="Local" value="BarDirectory/index.htm"> 
    <param name="ImageNumber" value="1"> 
    </object></li> 
    <ul> 
    <li><object type="text/sitemap"> 
    <param name="Name" value="Topic1"> 
    <param name="Local" value="BarDirectory/Bar.htm"> 
    <param name="ImageNumber" value="11"> 
    </object></li> 
    <li><object type="text/sitemap"> 
    <param name="Name" value="Topic1"> 
    <param name="Local" value="BarDirectory/Foo.htm"> 
    <param name="ImageNumber" value="11"> 
    </object></li> 
    </ul> 
    </ul> 
    </body> 
    </html> 
    

    同樣查找HHK文件的結構。

  4. 一旦你完成,你可以從Java執行hhc.exe <inputfile.hhp>。這應該能夠完成這項工作。
+0

@Avadhani是的,我明白了。但使用HTML Help Compiler似乎是獲得最終CHM文件的唯一方式,因爲CHM是純Windows專有格式。 –

+0

@Sakha好吧,讓我們看看最好的解決方案.... –

0

不是我知道的或我能找到的。但是,相反,如果要製作一個能夠爲你做所有事情的java程序,如果你要手動完成這些操作,你將如何操作所需要的軟件?只是發送命令並讓它爲你做。我會提供一些代碼,但我沒有在java中完成。

另一種方法是在VBscript中調用某些java類來運行,然後使用VBScript向程序發送擊鍵。此方法唯一的缺點是你不能在後臺運行它,並且在完成之前無法使用您的計算機。