「シーオーリポーツ for .NET Ver.4」は、.NET Framework および .NET 6 / .NET 8 に対応したプログラム制御型帳票ツールです。
.NET Framework の技術をベースとして作成(.NET専用のマネージコードによって開発)されています。

帳票レイアウトを設計するための『フォームエディタ』と、VB.NET、C#等のプログラム言語から利用し、帳票の印刷、独自形式の帳票ファイル、PDF、TIFF等の出力を行なう『描画ライブラリ』、独自形式の帳票ファイルをプレビュー・印刷するための『ビュアー』『ビューコントロール』で構成されています。

ランタイムライセンスフリーで、フォームエディタを除く各種ランタイムモジュールを、作成した帳票アプリケーションと共に使用許諾契約書にしたがって自由に再配布することができます。

前バージョン「シーオーリポーツ for .NET Ver.3」についてはこちらをご覧ください。

シーオーリポーツ 構成図
(クリックして拡大)

新機能

.NET 8 対応

.NET 8 に対応いたしました。
なお動作環境は Windows 限定となります。

電子署名・タイムスタンプ

PDFへの 電子署名 および タイムスタンプ の付与に対応しました。

フォールバックフォントを指定可能

これまではフォントに対象の字形がない場合はその文字を表示することができませんでしたが、「フォールバックフォント」を指定することで、別のフォントの情報が使用できるようになりました。
プリンタ印刷、PDF・TIFF出力で指定できます。またビュアー・ビューコントロールでも指定可能です。

主な機能

フォームエディタ

フォームエディタ
(クリックして拡大)

帳票レイアウトを作成するためのグラフィックエディタで、マウス操作で帳票設計を簡単に行なうことができます。

多彩な描画機能を持ち、グラフィックツールのような操作性により帳票レイアウト作成を簡単に行なうことができます。
一例として、リストフィールドの罫線ごとに「表示/非表示」を設定でき、「線の種類」「線の太さ」「線の色」も個別に設定可能です。
また図形の角丸めにおいて、サイズを個別に設定できます。

バーコード

バーコード
(クリックして拡大)

GS1-128(UCC/EAN-128)やカスタマバーコードなどのメジャーな1次元バーコードはもちろんのこと、QRコードも出力できます。
シーオーリポーツ独自の描画方法を採用することで、バーコードフォントや専用プリンタは不要です。
プリンタドライバの解像度に適したバー幅・間隔を自動計算するため、精度の高いバーコードを簡単に作成できます。
バー幅、スペース幅を個別に設定することも可能ですのでコンビニ収納代行用のGS1-128(UCC/EAN-128)の様に高い精度を要求されるバーコードをパソコン用プリンタで出力することも可能です。

レイヤ機能

レイヤ機能
(クリックして拡大)

ひとつのフォームファイル内に複数のレイヤが定義できます。
複写式の納品書・請求書・受領書のように少しずつ異なる帳票レイアウトも、共通部分と相違部分を別々のレイヤ上に設計することにより、ひとつのフォームファイル内で簡単に作成できます。
TWAINに対応しているので既存の帳票イメージをスキャナで読み込んで再利用することも可能です。

帳票ファイル

シーオーリポーツでは直接プリンタへ帳票を出力する以外に、帳票をファイルとして作成できます。
複数ページをまとめて1つの帳票ファイルにすることも、1ページごとに1帳票ファイルとすることも可能です。

ファイル形式としては、独自形式の帳票ファイル「シーオーリポーツドキュメントファイル」(BinaryとXML)、その他に「PDF」と「TIFF」があります。
また「Excel形式」での出力にも対応しております。出力時にExcelをインストールしておく必要はありません。

シーオーリポーツドキュメントファイル(Binary)は、XMLに比べてコンパクトなファイルサイズで保存することができます。またフォームエディタ以外で修正を行なうことが困難であるため、改ざんを防ぐことができます。
シーオーリポーツドキュメントファイル(XML)は、ファイルサイズは大きくなりますが、フォーム情報がXMLフォーマットで保存されており、他システムでのデータの再利用や帳票の長期保管等に適しています。

PDF出力では「しおり」を付加できます。
また「フォントのアウトライン化」で、テキストのコピーや検索を防ぐことができます。

外字の埋め込み

ドキュメントファイルやPDFファイルを作成する際に、外字を含めることが可能です。
市販の外字フォントやWindows外字エディタ等で作成した外字を使用することができます。
web環境での運用において問題となる人名や地名などの外字は独自の変換技術によりクライアント側には外字フォントがなくても表示・印刷ができます。

フォームの重ね打ち描画

出力時にフォームの重ね打ち描画ができます。
例えば、リストの1レコードのみのフォームファイルを作成し、これを重ね打ちでずらしながら描画していくことで、行・列数が可変のリストを実現できるようになります。

リストフィールドのセルの結合

リストフィールドのセルの結合
(クリックして拡大)

リストフィールドの複数セルに渡る行・列を結合することができるようになります。

カスタマイズ可能なプレビュー機能

帳票をプレビュー、印刷する『ビューコントロール』は、文字列検索や特定のページのみの印刷など機能が豊富です。
ClickOnceのアプリケーションを簡単に作成することができます。

帳票ファイルの一括印刷

帳票ファイルの一括印刷
(クリックして拡大)

フォルダを指定するだけで、そのフォルダ下にあるドキュメントファイルを一括印刷する機能をご用意しております。
例えば、複数トレイがあるレーザプリンタ等で、A4、A3、B4と異なる用紙を各トレイに入れておき、一度の印刷指示で全ファイルを印刷できます。

コード生成ウィザード

コード生成ウィザード
(クリックして拡大)

シーオーリポーツのフォームファイルを利用して帳票を出力するためのソースファイルを生成するアドイン機能です。生成されるソースファイルは以下の3種類です。

  • シーオーリポーツを使用して帳票作成を行うクラス
  • フォームファイルにデータを設定し、帳票のページの出力を行うクラス
  • レコードを Hashtable で表現するシンプルなレコードセットクラス

編集子

編集子とは、データフィールドおよびリストフィールドに出力するデータの表示形式を制御するための記号群です。
シーオーリポーツでは帳票出力に必要とされる豊富な編集子(文字型編集子・数値型編集子)とプロパティをご用意しています。

結合文字

JIS X 0213結合文字および濁点・半濁点(U+3099/U+309A)を含む結合文字に対応しています。
使用するには、指定したフォントが対象の文字に対応している必要があります。
またPDFで対象の文字を表示するにはフォント埋め込みをする必要があります。

異体字セレクタ

人名や地名で利用されることの多い異体字セレクタに対応しています。
PDFで対象の文字を表示するにはフォント埋め込みをする必要があります。

記述例

VB.NET サンプルプログラム

'******************************************************************
' ソースの見易さを考慮し、namespaceを設定します。
'******************************************************************
Imports Hos.CnDraw
Imports Hos.CnDraw.Object
Imports Hos.CnDraw.Constants
Imports Hos.CnDraw.Document

Private Sub Sample_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Sample.Click

   Try

   'CnDrawのインスタンスの生成
   'もし、フォームに貼り付けてCnDrawを使用する場合はインスタンスの生成は不要です
   Dim cnDraw1 As CnDraw = new CnDraw()

   '初期化処理
   cnDraw1.Initialize()

   '各種入出力先ディレクトリの設定
   cnDraw1.FormPath = "C:\CoReports_OutputSample\Form\" 'フォームファイルディレクトリ
   cnDraw1.DocumentPath = "C:\CoReports_OutputSample\Doc\" 'ドキュメント出力先ディレクトリ
   cnDraw1.WorkPath = "C:\CoReports_OutputSample\Temp\" '一時ファイル出力先ディレクトリ

   'バイナリファイル作成用JOBの作成
   Dim cnJob As CnFileOutJob = New CnFileOutJob(ConFileType.Binary, "Sample_VBNET.rsi")
   'JOB、ドキュメントのプロパティ設定
   CType(cnJob.Document, CnBinaryDocument).Compress = True 'ドキュメントの圧縮 

   '任意のプリンタを指定する
   'cnJob.CnPrinter = cnDraw1.CnPrinters("プリンタ名");

   'フォームファイルのオープン
   Dim cnForm As CnForm = cnDraw1.OpenForm("SampleForm.cfx")

   Try
    'バイナリファイル作成開始処理
    cnDraw1.StartJob(cnJob, "Sample_VBNET") 

    'プリンタのプロパティ設定
    cnJob.CnPrinter.SetFormSize(cnForm) 

    'データ入力------
    Dim cnDataField As CnDataField = cnForm.CnObjects("Data1") 

    cnDataField.Text = "Test"   'Data1にTestを設定
    cnDataField.UnderLine = ConDecorateLine.Solid 'Data1の下線の種類を実線に設定
    '---------------- 

    '1枚印刷
    cnForm.PrintOut() 

    'バイナリファイル作成終了処理
    cnDraw1.EndJob() 

   Finally

    '異常終了時にはジョブを破棄します
    cnJob.Abort() 

    'フォームファイルのクローズ
    cnForm.Close()

    'リソースの解放
    'もし、フォームに貼り付けてCnDrawを使用する場合はcnDraw1.Disposeは不要です
    cnDraw1.Dispose()
   End Try

  Catch ex As Hos.CnDraw.ExceptionInfo.CnException

   'シーオーリポーツが出した例外を捕捉します
   MsgBox(ex.Message)
   Catch ex As System.Exception

   '想定外の例外を捕捉します
   MsgBox(ex.Message)
  End Try
End Sub

C# サンプルプログラム

//******************************************************************
//ソースの見易さを考慮し、namespaceを設定します。
//******************************************************************
using Hos.CnDraw;
using Hos.CnDraw.Object;
using Hos.CnDraw.Constants;
using Hos.CnDraw.Document;

private void Sample_Click(object sender, System.EventArgs e)
{
 try
 {
   //CnDrawのインスタンスの生成
   //もし、フォームに貼り付けてCnDrawを使用する場合はインスタンスの生成は不要です
   CnDraw cnDraw1 = new CnDraw(); 

   //初期化処理
   cnDraw1.Initialize();

   //各種入出力先ディレクトリの設定
   cnDraw1.FormPath = @"C:\CoReports_OutputSample\Form\";  //フォームファイルディレクトリ
   cnDraw1.DocumentPath = @"C:\CoReports_OutputSample\Doc\"; //ドキュメント出力先ディレクトリ
   cnDraw1.WorkPath = @"C:\CoReports_OutputSample\Temp\";  //一時ファイル出力先ディレクトリ
     
   //バイナリファイル作成用JOBの作成
   CnFileOutJob cnJob = new CnFileOutJob(ConFileType.Binary, "Sample_CSharp.rsi"); 
   //JOB、ドキュメントのプロパティ設定
   ((CnBinaryDocument)cnJob.Document).Compress = true; //ドキュメントの圧縮 

   //任意のプリンタを指定する
   cnJob.CnPrinter = cnDraw1.CnPrinters["プリンタ名"];

   //フォームファイルのオープン
   CnForm cnForm = cnDraw1.OpenForm("SampleForm.cfx");
                 
   try
   {
    //バイナリファイル作成開始処理
    cnDraw1.StartJob(cnJob, "Sample_CSharp"); 

    //プリンタのプロパティ設定
    cnJob.CnPrinter.SetFormSize(cnForm); 

    //データ入力------
    CnDataField cnDataField = (CnDataField)cnForm.CnObjects["Data1"]; 

    cnDataField.Text = "Test";   //Data1にTestを設定
    cnDataField.UnderLine = ConDecorateLine.Solid; //Data1の下線の種類を実線に設定
    //---------------- 

    //1枚印刷
    cnForm.PrintOut(); 

    //バイナリファイル作成終了処理
    cnDraw1.EndJob();
   }
   finally
   {
    //異常終了時にはジョブを破棄します
    cnJob.Abort(); 

    //フォームファイルのクローズ
    cnForm.Close();
    
    //リソースの解放
    //もし、フォームに貼り付けてCnDrawを使用する場合はcnDraw1.Disposeは不要です
    cnDraw1.Dispose(); 
   }
  }
  catch(Hos.CnDraw.ExceptionInfo.CnException ex)
  {
   //シーオーリポーツが出した例外を捕捉します
   MessageBox.Show(ex.Message);
  }
  catch(System.Exception ex)
  {
   //想定外の例外を捕捉します
   MessageBox.Show(ex.Message);
  }
}

動作環境

  • 最新モジュールにおける動作保証環境です。
  • 開発環境及び実行環境は、同じ環境にすることがマイクロソフト社においても推奨されております。実行環境は開発された環境と同じ設定をしていただきますようお願いいたします。
  • 仮想化環境を含む、特定の環境についての動作保証およびサポートをしておりません。実マシン・仮想化環境に関係なく、シーオーリポーツをご利用中に何らかの問題が発生した場合、それが弊社環境でも再現されるものであれば、調査・対応をさせていただきます。

クラウドサービス

各クラウドサービスへの対応状況です。

OS
  • Windows 10
  • Windows 11
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022
.NET Framework
  • .NET Framework 4.6.2
  • .NET Framework 4.7
  • .NET Framework 4.7.1
  • .NET Framework 4.7.2
  • .NET Framework 4.8
  • .NET Framework 4.8.1
.NET

.NET Framework 互換モード で動作します。

  • .NET 6
  • .NET 8

機能比較表

マニュアル

製品に含まれるマニュアル一式と同じものが、体験版にも含まれております。

体験版のダウンロードはこちらをご参照ください。

ライセンス体系

ライセンスは本製品固有のライセンスです。
ダウングレード、または別製品のライセンスとしてお使いいただくことはできません。

開発ライセンス

開発者お一人につき1ライセンス必要です。
ユーザサポートページで製品登録することで、登録者に本製品を使用して開発を行なう権利が発生します。

製品登録後、ユーザサポートページ「ダウンロード」からインストーラをダウンロードしてください。

また運用時にモジュールを複数の環境へ配布することができます。
ただし「フォームエディタ」や「外字抽出ツール」「フォームファイル比較ツール」は配布可能なモジュールではございません。運用環境で、登録者以外の方がフォームエディタ等を使用する場合には、別途、開発ライセンスを購入する必要があります。
また、フォームエディタをお使いにならずに各モジュールを使用したプログラムを開発する場合も、開発ライセンスが必要です。

初年度分のテクニカルサポートが含まれております。
弊社から本ライセンスを出荷する際、自動的にサポートが開始されます(購入時に開始日を指定することも可能です)。

※ これまでの製品にあった「追加ライセンス」は、本製品にはございません。

テクニカルサポート

製品に関するサポートサービスです。
「テクニカルサポート」を購入することで、開発ライセンス付属のテクニカルサポートの期間が1年延長されます。

サービスの内容はこちらをご参照ください。

体験版

無料で30日間お試しいただける「体験版」がダウンロードできます。
体験版に機能制限はございませんので、実際にお使いになりたい環境で、製品版と同等の検証が可能です。

体験版のダウンロードはこちらをご参照ください。

製品の購入

製品の購入についてはこちらをご参照ください。