クラス DocConverter_OOO


  • public class DocConverter_OOO
    extends java.lang.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の場合のみ対応しています。
    機能分類
    帳票システム
    バージョン
    4.0
    作成者
    Hiroki.Nakamura
    導入されたバージョン:
    JDK1.6
    • コンストラクタの概要

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

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

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

      • DocConverter_OOO

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

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

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

      • open

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

        public void close()
                   throws java.lang.Throwable
        Calcコンポーネントをクローズします。 このクローズ処理は、処理が正常終了した場合に呼び出しする必要があります。 例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。 このメソッドは#close(false)と同じです。
        例外:
        java.lang.Throwable - 何らかのエラーが発生した場合。
        関連項目:
        close(boolean)
      • 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​(java.lang.String printer)
                   throws java.lang.Throwable
        印刷を行います。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
        パラメータ:
        printer - プリンター名
        例外:
        java.lang.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​(java.lang.String outputName,
                        java.lang.String pdfPasswd)
                 throws java.lang.Throwable
        PDF出力を行います。 入力形式で未対応の場合(形式は入力ファイルの拡張子で判別)、例外が発行されます。 正常に処理が終了した場合は、#close()を発行し、終了処理を行って下さい。 また、例外が発生した場合は、#close(true)を発行し、終了処理を行って下さい。
        パラメータ:
        outputName - 出力ファイル名
        pdfPasswd - PDFパスワード
        例外:
        java.lang.Throwable - 何らかのエラーが発生した場合。
      • ods

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

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

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

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

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

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

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

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

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

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

        public static void main​(java.lang.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)。