帳票ツールのCreate!FormTOP製品情報機能一覧JavaServletからの帳票出力
JavaServletからの帳票出力
この記事では、JavaServletでCreate!Form Cast(PDF帳票出力ランタイム)を呼び出し、帳票を出力する方法をご紹介します。
サンプルの動作環境
サンプルを動作させるために、JDK、Tomcatを予めインストールしておきます。なお、この記事では以下の環境で動作を確認しています。
- OS:WindowsServer2008R2
- Webサーバー:Tomcat7
- Java環境:JDK6
※過去のバージョンのTomcat、Javaでも呼び出しは可能です。 その際は、各操作をバージョンにあわせた操作に読み替えてご利用ください。
Create!Form体験版ダウンロード
Create!Form Designの体験版をダウンロードします。以下からお申し込みください。
ダウンロード後、Create!Form DesignをWebサーバが導入された環境にインストールします。(サンプルコードがそのまま利用できるため、インストール先などは初期値をお勧めします。)
Java + Create!FormでのPDF帳票生成・表示方法
以下はCreate!Formを使ってPDF帳票を生成する手順です。
- 帳票開発環境で、帳票定義(デザインやデータとの関連付け)を作成する。
- Javaアプリケーションより、帳票出力用データファイルを作成する。
- Javaアプリケーションから、1の帳票定義や2の帳票出力用データファイルをもとに、Create!Form Cast(PDF帳票出力ランタイム)を呼びだし、PDF帳票を生成する。
- PDF帳票をWebクライアントに表示する。
※ Create!Form体験版では、Create!Form Designの中にあるテスト実行用のCreate!Form Castを使用してPDF帳票を出力します。そのためこのサンプル実行においては、帳票開発環境とアプリケーションサーバーが同一環境内にあるイメージになります。
サンプルコード
HTMLの帳票作成ボタンをクリックするとPDF帳票を表示する簡単なサンプルコードです。
このサンプルは以下のファイルで構成されます。
- Tomcat設定用ファイル(HelloCreate.xml)
- Tomcat設定用ファイル(web.xml)
- 帳票作成画面HTMLファイル(index.html)
- 帳票作成用Javaファイル(HelloCreate.java)
サンプルコードのダウンロード:HelloCreate.zip
入力用画面 | 出力帳票画面 | |
![]() |
![]() |
アプリケーションフォルダーの作成
Webアプリケーション用のフォルダーを作成します。
エクスプローラーから、「C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps」(TomcatのWebアプリケーション用フォルダー)に 「HelloCreate」を作成します。 「HelloCreate」内に「WEB-INF」フォルダーを作成し、さらにその中に、「classes」を作成します。
Tomcat設定ファイルの作成
Tomcat設定用のファイルを作成します。
このサンプルでは、HelloCreateという名前で作成したアプリケーションにアクセスできるように作成します。
1.TomCat設定用ファイル(HelloCreate.xml)
「C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\Catalina\localhost」に「HelloCreate.xml」を作成します。
<Context path="/HelloCreate" docBase="C:\Program Files\Apache Software Foundation\Tomcat 7.0 \webapps\HelloCreate"/>
2.TomCat設定用ファイル(web.xml)
「C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\HelloCreate\WEB-INF」に「web.xml」を作成します。
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>HelloCreate</servlet-name> <servlet-class>HelloCreate</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloCreate</servlet-name> <url-pattern>/HelloCreate</url-pattern> </servlet-mapping> </web-app>
3.共通ライブラリの配置
帳票ツール呼び出し用のjarファイルを Tomcat上の共通ライブラリ配置場所に配置します。
インストールした帳票ツールより「C:\Program Files\Infotec\CreateForm\11\lib\CreateFormLib.jar」ファイルを 「C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib」にコピーします。
帳票作成画面HTMLファイル(index.html)
「C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\HelloCreate」に「index.html」を作成します。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"> </head> <body> <form method="get" action="HelloCreate"> <input type="submit" value="送信"> </form> </body> </html>
帳票作成用Javaファイル(HelloCreate.java)
「C:\Tmp」(コンパイル作業用のフォルダ)に「HelloCreate.java」を作成します。
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import net.createform.cji.*; import net.createform.common.*; public class HelloCreate extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String workdir = "C:\\ProgramData\\Infotec\\CreateForm\\11\\work\\tut\\mitsumori\\fin"; String style = "mitsumori.sty"; String outfile = "C:\\Program Files\\Apache Software Foundation \\Tomcat 7.0\\webapps\\HelloCreate\\mitsumori.pdf"; String infile = workdir + "\\mitsumori_1page.csv"; // ①ランタイム実行パラメータのセット RuntimeParam param = new RuntimeParam(); param.setWorkDir(workdir); param.setStyleFile(style); param.setDataFile(infile); param.setOutFile(outfile); // ②CCastクラスのインスタンスを作成 CCast cast = new CCast(); // ③FormCastランタイム実行 int ret = cast.executeRuntime(param); // ④戻り値の判定 if(ret < 0){ // エラー処理を記述 } res.sendRedirect("mitsumori.pdf"); } }
コンパイル
コマンドプロンプトで、コンパイル作業用のフォルダに移動し、コンパイルを実行します。
(servlet用のjarファイルと、帳票作成用のjarファイルにクラスパスを通します。)
cd C:\Tmp javac -classpath "C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar";"C:\Program Files\Infotec\CreateForm\11\lib\CreateFormLib.jar" HelloCreate.java
「HelloCreate.class」が作成されます。
クラスファイルの配置
先ほど作成したウェブアプリケーション用のフォルダ「C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\HelloCreate\WEB-INF\classes」にコンパイルで作成した「HelloCreate.class」をコピーします。
Webサーバーの再起動
Tomcatを再起動します。
テスト実行
1.インターネットエクスプローラーを起動します。 「http://localhost:8080/HelloCreate/index.html」へアクセスし、「送信」ボタンをクリックします。 |
![]() |
2.指定したデータを元に、PDF帳票が作成されます。 | ![]() |
※帳票のデータを変更したいときは、 CSVファイルを編集します。 通常のシステム処理では、プログラムよりCSVファイルを作成します。
帳票レイアウトの変更
帳票定義を確認してみましょう。サンプルで呼び出している「見積書」の帳票レイアウトを確認します。
- Windowsスタートメニューから[Create!FormV11]- [マネージャ]を選択する。
- 左の[ディレクトリツリー]から、[C:\ProgramData\Infotec\CreateForm\11\work\tut\mitsumori\fin]を選択する。
- 右にプレビューされる、「見積書」をダブルクリックする。
- 線やテキストなどを動かし、保存すると、レイアウトが変更される。