2012-04-25 41 views
3

JavaでMicrosoft Word docxファイルを開くにはどうすればよいですか?さらに、パスワードで保護されていればどうすれば開くことができますか?例えばJavaでMicrosoft Word docxファイルを開く

File f = new File("hello.docx"); 

のようなもので応答を避けるために試してみてください「あなたがこれを行うべきではありません。」私はこれには正当な理由があるので、あなたが答えるときはその質問に固執してください。どうもありがとう!

+0

POI(http://poi.apache.org)またはdocx4j(http://www.docx4java.org/trac/docx4j/) –

+0

を使用して、docxをパスワードで読み取る例を表示できますか? – CodeGuy

答えて

5

MS Officeファイルを操作するためのApache POIプロジェクトがあります。 DOCXファイルは一連のXMLファイルが入ったzipファイルなので、ファイルを解凍してXMLで作業することができます。 XML仕様(Open XML)は既知である。

+0

悲しいことに、Apache POIはテーブル、ヘッダー、またはイメージを非常に簡単に処理しません。 Docx4Jはもう少し堅牢です。 – yams

3

私は個人的にそれを使用していないのですが、Apache POIは、あなたのために働くだろうように見えます:http://poi.apache.org/

+0

私はPOIもお勧めします。ファイルを読み書きしたい場合は、Apache License 2.0のライブラリを入手できます(または私が見つけたもの) –

+0

パスワード付きのdocを読むためのサンプルコードを表示できますか? – CodeGuy

+0

@ CodeGuy私はあなたのためにその研究をするつもりはありません。私はあなたの質問をgoogle'dして、このプロジェクトを見つけました。私が上で述べたように、私はそれを個人的に使っていません。 –

0

Open Office apiを使用して開こうとしましたか?これは、多くの種類のドキュメントで動作します。

MS Excelファイルの.xls(旧バージョン)形式で使用しました。

希望すると、これが役立ちます。

+0

パスワードでMSを開いた例のコードを表示できますか? – CodeGuy

3

docx4jも使用できます。 http://www.docx4java.org/trac/docx4j

+0

サンプルコードを表示できますか? – CodeGuy

+0

http://www.docx4java.org/svn/docx4j/trunk/docx4j/docs/Docx4j_GettingStarted.htmlを読むことができます。 多くの例があります。 –

+0

docx4j 2.8.0スナップショットでは、それは単なるOpcPackage.load(新しいjava.io.File( "some.docx")、 "password123")です。 – JasonPlutext

1

docxがパスワードで保護されている場合は、zipファイルではありません。複合ファイルになります。 Overview of Protected Office Open XML Documents

Javaで複合ファイルを読み取るには、POIFSを使用します。 POIFSはPOIの一部です(docx4jも同様です)。

暗号化されたパッケージを復号化したら、docx4jまたはPOI。

編集:OK、今すぐdocx4jできますhandle password-protected docx自動的に。

2

私はdocx4jとApacheのPOIライブラリの両方を使用しています。もしあなたが.docxで作業しているなら、.docx4jをお勧めします。 .docxを作成するプロセスを自動化しました。
docx4jパッケージを使用して.docxを作成する方法については、http://java.dzone.com/articles/create-complex-word-docx という素晴らしい例があります。

関連する問題