帳票ツールのCreate!FormTOP製品情報機能一覧ASP.NET(VB.NET)からの帳票出力

ASP.NET(VB.NET)からの帳票出力

この記事ではASP.NETにおけるVB.NETでCreate!Form Cast(PDF帳票出力ランタイム)を呼び出し、帳票を出力する方法をご紹介します。(ローカル環境でのVB.NETからの呼び出し方法は、体験版同梱のサンプルコードをご覧ください。)

サンプルの動作環境

サンプルを動作させるために、IIS、Visual Studioをあらかじめインストールしておきます。
なお、以下の環境で動作を確認しています。

  • OS:Windows Server 2012 R2
  • Webサーバー:IIS
  • 開発環境:Visual Studio Community 2017

※過去のバージョンのVisual Studioでも呼び出しは可能です。 その際は、各操作をバージョンにあわせた操作に読み替えてご利用ください。

Create!Form体験版ダウンロード

Create!Form Designの体験版をダウンロードします。以下からお申し込みください。

無料体験版ダウンロード

ダウンロード後、Create!Form DesignをWebサーバーが導入された環境にインストールします。(サンプルコードがそのまま利用できるため、インストール先などは初期値をお勧めします。)

ASP.NET(VB.NET) + Create!FormでのPDF帳票生成・表示方法

以下はCreate!Formを使ってPDF帳票を生成する手順です。

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

※ Create!Form体験版では、Create!Form Designの中にあるテスト実行用のCreate!Form Castを使用してPDF帳票を出力します。そのためこのサンプル実行においては、帳票開発環境とアプリケーションサーバーが同一環境内にあるイメージになります。

サンプルコード

HTMLの帳票作成ボタンをクリックするとPDFの帳票を表示するサンプルです。

入力用画面
ASP.NET(VB.NET)からの帳票出力-入力用画面

出力帳票画面
ASP.NET(VB.NET)からの帳票出力-出力帳票画面

新しいWebサイトの構築

1.Visual Studio Community 2017を起動します。
メニューより、[ファイル]-[新規作成]-[プロジェクト]をクリックし、 新しいWebサイトを作成します。

2.ソリューション名を付けます。このサンプルでは「WebSiteSample」とします。

帳票作成ボタン作成用のHTML画面の作成

1.右のソリューション エクスプローラーより、Webサイト(WebSiteSample)を右クリックし、 [追加]-[新しい項目の追加]をクリックします。

2.立ち上がったダイアログで[Webフォーム]を選択します。

3.空のWebページが作成されます。

4.左下の[デザイン]ボタンをクリックしてデザインビューに切り替えます。

5.左端の[ツールボックス]から[標準]-[Button]を選択し、先ほど作成したデザインビューへドラッグします。

6.ボタンがひとつデザインビュー上に配置されます。

帳票生成処理の作成

1.配置した[ボタン]をダブルクリックします。

ボタンをクリックしたときの処理を記述できるソースコードの画面になります。
帳票生成エンジン呼び出し用の、 Imports句を追加します。

Imports Infotec.CreateForm.Runtime
Imports Infotec.CreateForm.Runtime.Pdf

2.帳票エンジンのインターフェースとなるDLLを関連付けます。
[Webサイト]-[参照の追加]をメニューから選択します。

[参照]メニューより、 C:\Program Files(x86)\Infotec\CreateForm\11\libフォルダ内のCreateFormLib.dllを追加します。

3.帳票出力用のコードを記述します。

「Button1_Click」関数に帳票生成処理を書き込みます。 ここでは、体験版をインストールした際に含まれる帳票を呼び出すようにします。帳票出力用データも、既存のCSVファイルを使用します。

帳票出力用サンプルコード:[Default.aspx.vb]

Imports Infotec.CreateForm.Runtime
Imports Infotec.CreateForm.Runtime.Pdf

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, 
        ByVal e As System.EventArgs) Handles Button1.Click

        Dim cast As CastRuntime
        Dim param As RuntimeParam
        Dim inputStd As InputDataParamStandard
        Dim inputData() As InputDataParam
        Dim ret As Integer

        '実行パラメーターの設定
        param = New RuntimeParam
        '作業ディレクトリ(帳票定義が置いてあるディレクトリ)
        param.WorkDir = "C:\ProgramData\Infotec\CreateForm\11\work\tut\mitsumori\fin"
        'スタイルファイル(帳票定義の出力定義ファイル)
        param.StyleFile = "mitsumori.sty"
        '出力ファイル名
        '環境に合わせてパスを変更してください。
        param.OutputFile = "C:\Users\Administrator\Documents\ Visual Studio 2010\WebSites\WebSite2\mitsumori.pdf"

        '入力データファイルの設定
        inputStd = New InputDataParamStandard
        inputStd.DataFile = param.WorkDir & "\mitsumori_1page.csv"
        inputData = New InputDataParam() {inputStd}
        param.InputData = inputData

        'ランタイムオブジェクトを作成し、のExecute メソッドを実行
        cast = New CastRuntime
        ret = cast.Execute(param)

        'ランタイム実行の後処理
        If ret <> 1 Then
            'エラー処理
        Else
            Response.Redirect("mitsumori.pdf")
        End If

    End Sub
End Class

テスト実行

1.[デバッグ]-[デバッグなしで開始]メニューより、テスト実行を行います。

2.Webサーバー(IIS Express)上で作成したVB.NETのプログラムが実行され、作成したボタンを一つ配置したHTMLファイルがブラウザーで開かれた状態で起動します。

3.表示されたWebページのボタンを押してみましょう。Adobe Acrobat Reader DCが起動して、PDF帳票が表示されます。

※帳票のデータを変更したいときは、 CSVファイルを編集します。 通常のシステム処理では、プログラムよりCSVファイルを作成します。

帳票レイアウトの変更

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

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

デモのご依頼、製品・機能について、お気軽にお問い合わせください Create!Formの利用イメージをご体験ください

  • QMS
  • ISMS
Copyright © Infotec,Inc.
Copyright © Infotec,Inc.

ページTOPへ