クラス DocConverter_OOO
- java.lang.Object
-
- org.opengion.hayabusa.report2.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)出力を行います。
-
-
-
コンストラクタの詳細
-
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)。
-
-