Java用ドライバは、ストリーム(java.io.InputStream/java.io.OutputStream)からストリームへの変換ができることが特徴です。 ユーティリティークラスを利用して、ファイルからストリーム、ストリームからファイル、ファイルからファイルなど、 あらゆる入出力に対応できます。
また、サーブレット/JSPの出力をキャプチャして変換するためのクラスが用意されています。 PDFのもととなるテンプレートをJSP, JSF, Velocity, Tapestryなど、 ウェブ開発で広く使われているJavaベースのテンプレート言語によりデザインできます。
Java用ドライバはGitHubの https://github.com/zamasoftnet/cti.java で公開されています。JitPackを利用してMavenまたはGradleで取得することができます。 最新バージョンはリリースページで確認してください。
Mavenの場合は pom.xml に以下を追加してください。
jitpack.io https://jitpack.io ]]> com.github.zamasoftnet cti.java vX.X.X
Gradleの場合は build.gradle に以下を追加してください。
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.zamasoftnet:cti.java:vX.X.X'
}
Mavenなどのビルドツールを使わない場合は、GitHubのリリースページからアーカイブをダウンロードすることもできます。
https://github.com/zamasoftnet/cti.java/releases
アーカイブには以下が含まれています。
ドライバの窓口となるクラスはjp.cssj.cti2.CTIDriverManagerです。 例えばlocalhostの8099番ポートで起動しているcopperdに、ユーザーID"user"、パスワード"kappa"で接続するには、以下のようにします。
//ドライバクラスのインポート
import jp.cssj.cti2.CTIDriverManager;
import jp.cssj.cti2.CTISession;
...
CTISession session = CTIDriverManager.getSession("ctip://127.0.0.1:8099/", "user",
"kappa");
//各種操作
...
Java用ドライバはHTTP/RESTによる接続にも対応しています。
Java版ドライバ2.1.4以降から、一定時間通信がない状態で自動的に通信を切断するタイムアウトに対応しています。
以下のようにURLパラメータで、timeoutをミリ秒単位で指定できます。
ctip://127.0.0.1:8099/?timeout=10000
ctips, http等他のプロトコルではタイムアウトは無効です。
ここではAPIによるアクセスの概要で説明した各手順に対応する関数を列挙します。 各関数の詳細は オンラインのAPIドキュメント(Javadoc)を参照してください。
次の例は、ストリームに送ったHTMLをPDFに変換してファイルとして保存します。
");
out.println("");
out.println("");
out.println("");
out.println("サンプル ");
out.println("");
out.println("");
out.println("Hello World!
");
out.println("");
out.println("