クラス DocConverter_OOO

java.lang.Object
org.opengion.hayabusa.report2.DocConverter_OOO

public class DocConverter_OOO extends Object
OpenOfficeを利用して様々な形式のファイルを読み込み、出力・印刷を行うための変換クラスです。 変換を行うことのできる入出力のフォーマット以下の通りです。 [対応フォーマット] 入力[Calc(ODS) ,Excel(XLS) ] ⇒ 出力[Calc(ODS) ,Excel(XLS) ,PDF] 入力[Writer(ODT) ,Word(DOC) ] ⇒ 出力[Writer(ODT) ,Word(DOC) ,PDF] 入力[Impress(ODP),PowerPoint(PPT)] ⇒ 出力[Impress(ODP),PowerPoint(PPT),PDF] 入力[ * 上記の全て ] ⇒ 印刷 変換を行うには、以下の2通りの方法があります。 (1)簡易的な変換メソッドを利用する場合 convert(String, String)を利用して、変換を行います。 この場合、出力形式は、出力ファイルの拡張子に従って自動的に決定されます。 このため、印刷処理などを行う場合は、(2)の方法で出力して下さい。 (2)段階的に書くメソッドを呼び出して変換する場合 オブジェクトを生成した後、open()、#(各種変換メソッド)、Object.clone()を 順番に呼び出して変換を行います。 この場合、出力形式は、それに対応するメソッドを呼び出ることで決定されます。 また、変換を行うための、各種メソッドは、例外としてThrowableを投げるように定義されています。 このクラスを利用する場合は、このThrowableをcatchし、catch句で、必ずclose(boolean)に、 "true"(エラー発生時のクローズ処理)を指定して、終了処理を行って下さい。 (これを行わない場合、OpenOfficeの不要なプロセスが残ってしまう可能性があります) また、出力ファイルが既に存在する場合、出力ファイルは一旦削除された後、処理されます。 なお、入力ファイルと出力ファイルが同じ場合、何も処理されません。(例外も発行されません) 入力ファイルを、CSV形式で複数指定した場合、複数の入力ファイルをマージして出力します。 ※1 現状は、ファイルのマージは、入力ファイルがExcelまたはCalcの場合のみ対応しています。
機能分類
帳票システム
導入されたバージョン:
JDK1.6
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    コンストラクタです。
    コンストラクタです。
    DocConverter_OOO(String[] input, boolean isOl)
    コンストラクタです。
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    void
    auto(String outputName)
    出力ファイルから出力形式を自動判別し、変換を行います。
    void
    Calcコンポーネントをクローズします。
    void
    close(boolean isErr)
    Calcコンポーネントをクローズします。
    static final void
    convert(String[] inputFile, String outputFile)
    ドキュメントの変換を行うための簡易メソッドです。
    static final void
    convert(String[] inputFile, String outputFile, boolean isOnline)
    ドキュメントの変換を行うための簡易メソッドです。
    static final void
    convert(String inputFile, String outputFile)
    ドキュメントの変換を行うための簡易メソッドです。
    void
    doc(String outputName)
    Word(doc)出力を行います。
    static void
    main(String[] args)
    ドキュメントの変換を行います。
    void
    odp(String outputName)
    Impress(odp)出力を行います。
    void
    ods(String outputName)
    Calc(ods)出力を行います。
    void
    odt(String outputName)
    Writer(ods)出力を行います。
    void
    SOficeのコンポーネントを起動します。
    void
    pdf(String outputName, String pdfPasswd)
    PDF出力を行います。
    void
    ppt(String outputName)
    PowerPoint(ppt)出力を行います。
    void
    print(String printer)
    印刷を行います。
    void
    xls(String outputName)
    Excel(xls)出力を行います。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • DocConverter_OOO

      public DocConverter_OOO(String input)
      コンストラクタです。 #DocConverter(input, true)と同じです。
      パラメータ:
      input - ファイル一覧(CSV形式)
      関連項目:
    • DocConverter_OOO

      public DocConverter_OOO(String[] input)
      コンストラクタです。 #DocConverter(input, true)と同じです。
      パラメータ:
      input - ファイル一覧(配列)
      関連項目:
    • DocConverter_OOO

      public DocConverter_OOO(String[] input, boolean isOl)
      コンストラクタです。 isOnline(isOl)がtrueに指定された場合、soffice.binのプロセスをファクトリークラス経由で生成し、 キャッシュします。 但し、システムリソースが読み込まれないような、バッチファイルから起動した場合は、この方法は 利用できないため、isOnlineをfalseに指定する必要があります。
      パラメータ:
      input - ファイル一覧(配列)
      isOl - オンライン(Web環境での使用)かどうか
  • メソッドの詳細

    • open

      public void open() throws Throwable
      SOficeのコンポーネントを起動します。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
      例外:
      Throwable - 何らかのエラーが発生した場合。
      関連項目:
      変更履歴:
      5.1.7.0 (2010/06/01) マージ処理対応
    • close

      public void close() throws Throwable
      Calcコンポーネントをクローズします。 このクローズ処理は、処理が正常終了した場合に呼び出しする必要があります。 例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。 このメソッドは#close(false)と同じです。
      例外:
      Throwable - 何らかのエラーが発生した場合。
      関連項目:
    • close

      public void close(boolean isErr)
      Calcコンポーネントをクローズします。 引数のisErrがtrueの場合、この変換オブジェクトで生成されたプロセスは強制的に破棄されます。 falseの場合は、プロセスは、ファクトリクラスを経由して、キャッシュに戻されます。 (バッチ処理の場合は、いずれの場合も、プロセスは強制的に破棄されます) 起動から変換、クローズまでの書く処理で例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。 #close(false)は#close()と同じであるため、通常利用することはありません。
      パラメータ:
      isErr - trueの場合、この変換オブジェクトで生成されたプロセスは強制的に破棄されます。
      変更履歴:
      4.2.4.1 (2008/07/07 ) 終了処理を60回で終わるように修正, 4.3.0.0 (2008/07/15 ) ↑は6秒しか待っていなかったので、60秒待つように修正
    • print

      public void print(String printer) throws Throwable
      印刷を行います。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
      パラメータ:
      printer - プリンター名
      例外:
      Throwable - 何らかのエラーが発生した場合。
      変更履歴:
      4.3.0.0 (2008/07/16) スプールが終わるまでwaitし、さらにプリンタ発行の状況を監視し、正常終了かどうかを判断, 4.3.7.3 (2009/06/22) 存在しないプリンターを指定した場合のエラーハンドリングを追加, 5.1.2.0 (2010/01/01) CentOS等は、OS_INFOがLinux UNKNOWNとなるため、判定条件を変更
    • pdf

      public void pdf(String outputName, String pdfPasswd) throws Throwable
      PDF出力を行います。 入力形式で未対応の場合(形式は入力ファイルの拡張子で判別)、例外が発行されます。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
      パラメータ:
      outputName - 出力ファイル名
      pdfPasswd - PDFパスワード
      例外:
      Throwable - 何らかのエラーが発生した場合。
    • ods

      public void ods(String outputName) throws Throwable
      Calc(ods)出力を行います。 入力形式で未対応の場合(形式は入力ファイルの拡張子で判別)、例外が発行されます。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
      パラメータ:
      outputName - 出力ファイル名
      例外:
      Throwable - 何らかのエラーが発生した場合。
    • xls

      public void xls(String outputName) throws Throwable
      Excel(xls)出力を行います。 入力形式で未対応の場合(形式は入力ファイルの拡張子で判別)、例外が発行されます。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
      パラメータ:
      outputName - 出力ファイル名
      例外:
      Throwable - 何らかのエラーが発生した場合。
    • odt

      public void odt(String outputName) throws Throwable
      Writer(ods)出力を行います。 入力形式で未対応の場合(形式は入力ファイルの拡張子で判別)、例外が発行されます。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
      パラメータ:
      outputName - 出力ファイル名
      例外:
      Throwable - 何らかのエラーが発生した場合。
    • doc

      public void doc(String outputName) throws Throwable
      Word(doc)出力を行います。 入力形式で未対応の場合(形式は入力ファイルの拡張子で判別)、例外が発行されます。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
      パラメータ:
      outputName - 出力ファイル名
      例外:
      Throwable - 何らかのエラーが発生した場合。
    • odp

      public void odp(String outputName) throws Throwable
      Impress(odp)出力を行います。 入力形式で未対応の場合(形式は入力ファイルの拡張子で判別)、例外が発行されます。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
      パラメータ:
      outputName - 出力ファイル名
      例外:
      Throwable - 何らかのエラーが発生した場合。
    • ppt

      public void ppt(String outputName) throws Throwable
      PowerPoint(ppt)出力を行います。 入力形式で未対応の場合(形式は入力ファイルの拡張子で判別)、例外が発行されます。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
      パラメータ:
      outputName - 出力ファイル名
      例外:
      Throwable - 何らかのエラーが発生した場合。
    • auto

      public void auto(String outputName) throws Throwable
      出力ファイルから出力形式を自動判別し、変換を行います。 入出力形式で未対応の場合(形式は入出力ファイルの拡張子で判別)、例外が発行されます。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
      パラメータ:
      outputName - 出力ファイル名
      例外:
      Throwable - 何らかのエラーが発生した場合。
    • convert

      public static final void convert(String inputFile, String outputFile)
      ドキュメントの変換を行うための簡易メソッドです。 変換方法は、出力ファイルの拡張子により自動的に決定されます。
      パラメータ:
      inputFile - 入力ファイル名
      outputFile - 出力ファイル名
      関連項目:
    • convert

      public static final void convert(String[] inputFile, String outputFile)
      ドキュメントの変換を行うための簡易メソッドです。 変換方法は、出力ファイルの拡張子により自動的に決定されます。
      パラメータ:
      inputFile - 入力ファイル名配列
      outputFile - 出力ファイル名
      関連項目:
    • convert

      public static final void convert(String[] inputFile, String outputFile, boolean isOnline)
      ドキュメントの変換を行うための簡易メソッドです。 変換方法は、出力ファイルの拡張子により自動的に決定されます。 isOnlineがtrueに指定された場合、soffice.binのプロセスをファクトリークラス経由で生成し、 キャッシュします。 但し、システムリソースが読み込まれないような、バッチファイルから起動した場合は、この方法は 利用できないため、isOnlineをfalseに指定する必要があります。
      パラメータ:
      inputFile - 入力ファイル名配列
      outputFile - 出力ファイル名
      isOnline - オンライン(Web環境での使用)かどうか
    • main

      public static void main(String[] args)
      ドキュメントの変換を行います。 変換方法は、出力ファイルの拡張子により自動的に決定されます。
      パラメータ:
      args - コマンド引数配列
      変更履歴:
      4.3.1.1 (2008/08/23) mkdirs の戻り値判定, 6.3.9.1 (2015/11/27) A method/constructor shouldnt explicitly throw java.lang.Exception(PMD)。