インターフェース - アセンブリ


アセンブリは「.NET Framework」 に対応したコンパイルされたコードライブラリです。
「.NET Framework」 アプリケーションではアセンブリを通じて様々な機能を簡単に利用することができます。

「Preview」には専用のアセンブリが準備されていて「.NET Framework」 アプリケーションで利用することができます。

このページでは、アセンブリから「Preview」を起動しPDFを作成する方法について説明します。



アセンブリでは「Preview」の実行DLL(wfr2016c.dll)をカプセル化し機能を提供しています。



アセンブリファイルとクラス情報
各種設定
各種設定 - 参照設定

各種設定 - DLLの配置
メソッド
使用例


アセンブリファイルとクラス情報


「Preview」のアセンブリはDLLファイルとして「.NET Framework」のバージョン毎に準備されています。
(AnyCPU版)

.NET Framework アセンブリ(DLL)ファイル名
.NET Framework 2.0 WfrLib_20.dll
.NET Framework 3.5 WfrLib_35.dll
.NET Framework 4.0 WfrLib_40.dll
.NET Framework 4.5 WfrLib_45.dll
.NET Framework 4.5.1 WfrLib_451.dll
.NET Framework 4.5.2 WfrLib_452.dll
.NET Framework 4.6 WfrLib_46.dll
.NET Framework 4.6.1 WfrLib_461.dll
.NET Framework 4.7 WfrLib_47.dll
.NET Framework 4.7.1 WfrLib_471.dll
.NET Framework 4.7.2 WfrLib_472.dll
.NET Framework 4.8 WfrLib_48.dll


アセンブリファイル(DLL)は次の方法で入手可能です。
使用する「.NET Framework」のバージョンと同じバージョン(WfrLib_xxx.dll)のDLLファイルを1つだけコピーして使用してください。先頭1桁の値が同じなら古いバージョンでも可です。


オブジェクト情報は次の通りです。
「.NET Framework」 からはオブジェクトを通じて各種機能を使用することができます。

<「Preview」のオブジェクト情報>

オブジェクト名(型) WfrLib.Preview 



WfrLib_*.dll には「PDF Server」「PDF Client」用のクラスも定義されていますが、ここでの説明は省略します。

「.NET Framework」ではガベージコレクション(GC)により不要なメモリは解放されます。
しかし、解放タイミングが不規則なためリソースの圧迫やファイルを開いたままにする等、システムに悪影響を与える可能性があります。
不要となったリソースは明示的に解放(破棄)してください。
アセンブリでは「Dispose」を呼び出してオブジェクトを破棄します。
このヘルプの多くのサンプルではエラー処理を省いていますが、エラー発生時でもオブジェクトの破棄は行う必要があります。


各種設定


アセンブリは、COMをカプセル化することで各機能を実現しています。
このためアセンブリを使うには、システムへの「PDF Server」または「PDF Client」のインストールが必須となります。

「VB」や「C#」からアセンブリを使うには参照設定を行う必要があります。
また、Webシステムから利用する場合はWebサイトの「Bin」フォルダへのアセンブリファイルの配置が必要となります。

参照設定
DLLの配置



1.参照設定

「VB」や「C#」からアセンブリを使う場合は参照設定が必要です。

「Visual Studio 2015」の場合の手順は次の通りです。

  1. 「再配布」ファイルにある「.NET Framework」 のバージョンに合ったアセンブリDLLファイルを任意のフォルダにコピーします。

  2. 「プロジェクト」メニューから「参照の追加」を実行し、
    「参照マネージャー」ダイアログの「参照」ボタンから「1」のDLLファイルを選択します。





  3. 「参照マネージャー」ダイアログの「参照」タグに「2」で選択したDLLファイルが表示されます。(チェック有り)



  4. 「OK」ボタンで「参照マネージャー」ダイアログを閉じることで参照設定を追加することができます。





2.DLLの配置

Webシステム(ASP.NET)からアセンブリを使って「Preview」を利用する場合は、「.NET Framework」 のバージョンに合ったDLLファイルをWebサイトの「Bin」フォルダにコピーすることで利用できるようになります。(例 c:\wwwroot\Bin\WfrLib_452.dll)


Webサイトの「Bin」フォルダには「ASP.NET」「.NET Framework」のバージョンと一致するものを1つだけコピーしてください。
複数コピーすると正しく動作しない可能性があります。



メソッド


アセンブリで使用可能なメソッドについては「メソッド・キーワード一覧」の「メソッド一覧」を参照してください。


使用例


アセンブリを使った使用例です。
以下のサンプルではエラー処理は省かれています。
実際の運用ではエラー処理が必要となります。


ボタンアクションからダイアログに帳票を表示する例(Windowsフォーム-アセンブリ-C#)

private void button1_Click(object sender, EventArgs e)
{
    WfrLib.Preview wfr_prv;

    // Previewのオブジェクトを作成
    wfr_prv = WfrLib.Preview.CreateObject();

    // 帳票をオープンしデータを入力
    wfr_prv.Open("c:\\sample\\sample.wfr");
    wfr_prv.Import("Data1", 0, "c:\\sample\\sample.csv");
    wfr_prv.Create();

    // ダイアログでPreviewを表示
    wfr_prv.ShowDialog(this, false);

    // オブジェクトの破棄
    wfr_prv.Dispose();
}


ボタンアクションから帳票を印刷する例(Windowsフォーム-アセンブリ-VB)

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim wfr_prv As WfrLib.Preview

    ' Preview オブジェクトの作成
    wfr_prv = WfrLib.Preview.CreateObject()

    ' 帳票のオープンとデータの入力
    wfr_prv.Open("d:\Test\sample.wfr")
    wfr_prv.Import("Data1", 0, "d:\Test\sample.csv")
    wfr_prv.Create()

    ' 印刷
    wfr_prv.PrintOut(Me)

    ' オブジェクトの破棄
    wfr_prv.Dispose()
End Sub



Webサーバで帳票にデータを入力し帳票イメージをクライアントに出力する例(ASP.NET-アセンブリ-VB)

<%@ Page Language="VB" %>
<%
    Dim wfrPrv As WfrLib.Preview
    Dim wfrImg As Byte()

    'Preview オブジェクトの作成
    wfrPrv = WfrLib.Preview.CreateObject()

    '帳票のオープンとデータの入力
    wfrPrv.Open(Server.MapPath("sample.wfr"))
    wfrPrv.Import("Data1", 0, Server.MapPath("sample.csv"))

    '帳票イメージの取得とクライアントへの出力
    wfrImg = wfrPrv.GetBinaryImage(2)
    Response.ContentType="application/octer-stream"
    Response.BinaryWrite(wfrImg)

    'オブジェクトの破棄
    wfrPrv.Dispose()
%>