お問い合わせ
  1. 帳票ツールのCreate!Form
  2. 製品情報
  3. 機能一覧
  4. 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帳票を生成する手順です。

  1. 帳票開発環境で、帳票定義(デザインやデータとの関連付け)を作成する。
  2. Javaアプリケーションより、帳票出力用データファイルを作成する。
  3. Javaアプリケーションから、1の帳票定義や2の帳票出力用データファイルをもとに、Create!Form Cast(PDF帳票出力ランタイム)を呼びだし、PDF帳票を生成する。
  4. 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)

  • 入力用画面
  • 出力帳票画面

アプリケーションフォルダーの作成

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ファイルを作成します。

帳票レイアウトの変更

帳票定義を確認してみましょう。サンプルで呼び出している「見積書」の帳票レイアウトを確認します。

  1. Windowsスタートメニューから[Create!FormV11]- [マネージャ]を選択する。
  2. 左の[ディレクトリツリー]から、[C:\ProgramData\Infotec\CreateForm\11\work\tut\mitsumori\fin]を選択する。
  3. 右にプレビューされる、「見積書」をダブルクリックする。
  4. 線やテキストなどを動かし、保存すると、レイアウトが変更される。

機能一覧へもどる