1. ホーム
  2. java

[解決済み] リッチなWordドキュメントを作成できるJava APIはありますか?[クローズド]

2022-10-22 03:19:37

質問

私は、表、グラフ、目次およびテキストを含むWordドキュメントを生成しなければならない新しいアプリに取り組む予定です。 このために使用する良い API は何ですか? グラフ、ToC、テーブルをサポートしていることをどの程度確信していますか? それらを使用する際の隠れた厄介事は何ですか?

いくつかの明確化。

  • PDFは出力できない、Word文書が欲しいと言われた。
  • 彼らは OpenOffice ではなく MS Word 2003 (または 2007) を使用しています。
  • アプリケーションは *nix app-server 上で実行されている。

テンプレートのドキュメントから始めて、いくつかのスペースを表やグラフなどで埋めることができればいいのですが。

編集:以下にいくつかの良い回答がありますが、私の現在の状況に関して言えば、それぞれに欠点があります。 この中から最終的な答えを選ぶのは難しいです。 私はこのままにしておき、より良い解決策が生まれることを期待します。

編集: OpenOffice UNO プロジェクトは、私が求めたものに最も近いようです。 POI は確かにより主流ですが、私が望むものには未熟すぎます。

どのように解決するのですか?

2007 年、私のプロジェクトでは、OpenOffice.org の ユニバーサルネットワークオブジェクト (UNO) インターフェイスを使用して、Java Web アプリケーション (Struts/JSP フレームワーク) から MS-Word 互換ドキュメント (*.doc) とそれに対応する PDF ドキュメントをプログラム的に生成することに成功しました。

OpenOffice UNO では、MS-Office 互換のチャート、スプレッドシート、プレゼンテーションなどを構築することもできます。 私たちは、図表を含む洗練された Word ドキュメントを動的に構築することができました。

私たちは、ソフトウェアがコンテンツを挿入するしおりを挿入した MS-Word ドキュメントのテンプレートを使用することでプロセスを簡略化しましたが、完全にゼロからドキュメントを構築することも可能です。 目標は、最終的な配信と保存のために PDF に変換する前に、エンド ユーザーが共有し、さらに微調整できるレポート ドキュメントをソフトウェアで生成することでした。

ユーザーに MS-Office の代わりに OpenOffice を使用してもらいたい場合、オプションで OpenOffice 形式でドキュメントを作成することができます。 私たちのケースでは、ユーザーは MS-Office ツールを使用することを望んでいます。

UNO は OpenOffice スイートの中に含まれています。 私たちのJavaアプリをUNOに関連するライブラリにリンクさせるだけです。

OpenOffice ソフトウェア開発キット (SDK) があり、サンプルアプリケーションと UNO 開発者ガイドが含まれています。

最新の OpenOffice UNO が MS-Office 2007 Open XML ドキュメントフォーマットを生成できるかどうかは調査していません。

OpenOffice UNO で重要なことは。

  1. これはフリーウェアです。
  2. 複数の言語(Visual Basic、Java、C++など)をサポートしています。
  3. プラットフォームに依存しない(Windows、Linux、Unixなど)。

便利な Web サイトをいくつか紹介します。