home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2014/04/26/業務系文書の自動生成についての予備調査(OIpenXML, OpenDocument, OpenOffice.org, LibreOffice)

日記/2014/04/26/業務系文書の自動生成についての予備調査(OIpenXML, OpenDocument, OpenOffice.org, LibreOffice)

日記 / 2014 / 04 / 26 / 業務系文書の自動生成についての予備調査(OIpenXML, OpenDocument, OpenOffice.org, LibreOffice)
id: 1279 所有者: msakamoto-sf    作成日: 2014-04-26 19:02:26
カテゴリ: Java 

いわゆるワード文書やスプレッドシートを、ソフトウェアから自動生成するにはどんな方法があるかの調査メモです。
Javaから生成するのを念頭に置いてます。
そんなに突っ込んで調べてるわけではなくて、適当にググった結果の上位3-5くらいのURLを漁っただけの、浅い内容です。

Office Open XML フォーマット(MS-Officeの ".docx", ".xlsx")

Microsoft社提供のSDK:

JavaからOffice文書を生成するので有名なApachePOI関連:

  • Apache POI - the Java API for Microsoft Documents
    • http://poi.apache.org/
    • もともと OpenXML4J として開発されていたのが、2008年にPOIに寄贈され、利用できるようになった。
  • 最新POIでOffice Open XML形式のExcelファイルを操作:CodeZine(コードジン)

OpenDocumentフォーマット(OpenOffice.org, LibreOffice)

  • OpenDocument Format for developers
    • http://www.opendocumentformat.org/developers/
      • 言語ごとに、ODFを生成するライブラリが紹介されている。
      • ただし、サイトが消失している(lpod-project.org)ものがあり、最新情報とはいえない。

OpenOffice.org と LibreOffice の両方で、マクロとして、あるいは外部プログラムからドキュメントを操作するためのAPIが公開されており、最近だとこちらを使ったほうが良いかもしれない。
どちらも、OpenOffice.org で開発されている "UNO" (Universal Netowrk Objects) という、RPCを複数言語でBINDしたようなアーキテクチャの上でAPIを公開しているため、JavaやPython、.NETなどから利用できるようになっている。

OpenOffice.orgでのAPIとUNO関連資料:

LibreOfficeでのAPIとUNO関連資料:

OpenOffice.orgはApacheライセンスですが、LibreOfficeはGPLv3という点に注意が必要かもしれません。

ちなみに、Webアプリなどから非同期でマルチスレッドで呼び出すような用途だとどうなるんだろう・・・と、"uno multithread"でぐぐったらこんなのが見つかりました。対応してるのか、してないのか、ちょっとまだ調べきれてないです。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2014-04-26 19:03:00
md5:396bceac4a5855613d147b0ba24ff479
sha1:790aa9199e7587fdbf15fbbbeb232e7fa5953d0f
コメント
コメントを投稿するにはログインして下さい。