openGionopenGion
5.8.0.0

org.opengion.hayabusa.report2
クラス 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の不要なプロセスが残ってしまう可能性があります) また、出力ファイルが既に存在する場合、出力ファイルは一旦削除された後、処理されます。 なお、入力ファイルと出力ファイルが同じ場合、何も処理されません。(例外も発行されません) 入力ファイルを、カンマ区切りで複数指定した場合、複数の入力ファイルをマージして出力します。 ※1 現状は、ファイルのマージは、入力ファイルがExcelまたはCalcの場合のみ対応しています。

機能分類
帳票システム
バージョン
4.0
作成者
Hiroki.Nakamura
導入されたバージョン:
JDK1.6

コンストラクタの概要
DocConverter_OOO(String input)
          コンストラクタです。
DocConverter_OOO(String[] input)
          コンストラクタです。
DocConverter_OOO(String[] input, boolean isOl)
          コンストラクタです。
 
メソッドの概要
 void auto(String outputName)
          出力ファイルから出力形式を自動判別し、変換を行います。
 void close()
          Calcコンポーネントをクローズします。
 void close(boolean isErr)
          Calcコンポーネントをクローズします。
static void convert(String[] inputFile, String outputFile)
          ドキュメントの変換を行うための簡易メソッドです。
static void convert(String[] inputFile, String outputFile, boolean isOnline)
          ドキュメントの変換を行うための簡易メソッドです。
static 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 open()
          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 - ファイル一覧(カンマ区切り)
関連項目:
DocConverter_OOO(String[])

DocConverter_OOO

public DocConverter_OOO(String[] input)
コンストラクタです。 #DocConverter(input, true)と同じです。

パラメータ:
input - ファイル一覧(配列)
関連項目:
DocConverter_OOO(String[], boolean)

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 - 何らかのエラーが発生した場合。
関連項目:
close(), close(boolean)
変更履歴:
5.1.7.0 (2010/06/01) マージ処理対応

close

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

例外:
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(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(String[], String, boolean)

convert

public static final void convert(String[] inputFile,
                                 String outputFile)
ドキュメントの変換を行うための簡易メソッドです。 変換方法は、出力ファイルの拡張子により自動的に決定されます。

パラメータ:
inputFile - 入力ファイル名配列
outputFile - 出力ファイル名
関連項目:
convert(String[], String, boolean)

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)
                 throws com.sun.star.uno.Exception
ドキュメントの変換を行います。 変換方法は、出力ファイルの拡張子により自動的に決定されます。

パラメータ:
args - コマンド引数配列
例外:
com.sun.star.uno.Exception - 何らかのエラーが発生したとき。
変更履歴:
4.3.1.1 (2008/08/23) mkdirs の戻り値判定

openGion 5.8.0.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.