Java で Microsoft Word docx ファイルを開くにはどうすればよいですか? さらに、パスワードで保護されている場合、どうすれば開くことができますか?
例えば、
File f = new File("hello.docx");
「やってはいけない」などの回答は極力避けてください。これには十分な理由があるので、答えるときは質問に固執してください。どうもありがとう!
MS Office ファイルを操作するためのApache POIプロジェクトがあります。DOCX ファイルは、一連の XML ファイルを内部に含む単なる zip ファイルであるため、ファイルを解凍して XML を操作できます。XML 仕様 (Open XML) が知られています。
docx4j も使用できます。http://www.docx4java.org/trac/docx4j
私は個人的には使用していませんが、Apache POI がうまくいくようです: http://poi.apache.org/
docx4j と Apache の POI ライブラリの両方を使用しました。.docx を使用している場合は、.docx4j をお勧めします。.docx を作成するプロセスの多くを自動化しました。
ここに素晴らしい例があります: http://java.dzone.com/articles/create-complex-word-docx
docx4j パッケージを使用して .docx を作成する方法について。
docx がパスワードで保護されている場合、zip ファイルにはなりません。複合ファイルになります。保護された Office Open XML ドキュメントの概要を参照してください。
Java で複合ファイルを読み取るには、POIFSを使用します。POIFS は POI の一部です (docx4j もこれを使用するため、docx4j ディストリビューションをダウンロードすると、POIFS API を使用できるようになります)。
暗号化されたパッケージを復号化したら、docx4j または POI を使用して読み取ることができます。
編集: OK、docx4j はパスワードで保護された docxを自動的に処理できるようになりました。
Open Office APIを使用して開こうとしましたか? 多くの種類のドキュメントを扱うことができます。
MS Excel ファイル .xls (古いバージョン) 形式で使用しました。
これがあなたを助けることを願っています。