2012-05-02 27 views
6

Word文書(.doc/.docx)ファイルをヘルプファイル(.chm)形式に変換する考えがあります。私はファイルの変換のためにJavaを使いたいと思う。私の公式は簡単です。目次ページとその他のリンクをパッケージエクスプローラまたはファイルエクスプローラとしてワードドキュメントに作成し、ドキュメント内のページ間でユーザーのナビゲーションをより簡単に、より迅速に、簡単にナビゲートするようにします。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 Help Workshopをインストールしてもそれを実行できます。

  1. まず、Word文書のテキストをApache POIで抽出し、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. 完了したら、hhc.exe <inputfile.hhp>をJavaから実行できます。それは仕事をするはずです。
+0

@Avadhaniはい私は理解します。しかし、CHMは純粋なWindows独自の形式であるため、HTMLヘルプコンパイラを使用することは、最終的なCHMファイルを取得するための唯一の方法と思われます。 –

+0

@Sakha Okですが、最高のソリューションを見てみましょう.... –

0

私が知っているか、または私が見つけることはできません。しかし代わりに、手動で行う必要がある場合に使用する必要なソフトウェアを操作して、すべてのことを行うJavaプログラムを作成するのはどうですか?ちょうどコマンドを送って、あなたのためにそれをしてください。私はいくつかのコードを提供するだろうが、私はjavaでこれをしていない。

代わりに、VBscriptで実行して特定のJavaクラスを呼び出して実行し、VBScriptを使用してプログラムにキーストロークを送信することもできます。この方法の唯一の欠点は、バックグラウンドで実行できないことです完了するまでコンピュータを使用できませんでした。

関連する問題