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

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

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

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

シーオーリポーツ 構成図

(クリックして拡大)

新機能

Excel 形式のファイル出力に対応

  • Excel 形式ファイル(拡張子xlsx)の出力に対応
  • Excel 形式ファイルの出力時にExcel のインストールは不要

異体字セレクタ(IVS)

人名や地名で利用されることの多い異体字セレクタに対応しています。

PDF 出力の機能強化

  • PDF の内容確認に便利なPDF の「しおり」機能に対応
  • テキストのコピーや検索を防ぐフォントのアウトライン化に対応

帳票表現力の向上

  • リストフィールドの罫線毎に表示状態や線種、太さ等を設定可能
  • 図形の角丸設定を個別に設定可能
  • 直線の終端形状の変更
  • QRコード・バーコードの背景色指定
  • 中抜きや縁取り等の文字修飾機能強化

主な機能

フォームエディタ

フォームエディタ

(クリックして拡大)

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

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

  • 使用できるフォームファイルはBinary形式(.rse)XML形式(.cfx)です。

バーコード

バーコード

(クリックして拡大)

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 で表現するシンプルなレコードセットクラス

編集子

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

JIS2004対応

JIS X 0213:2004(JIS2004)に対応しています。
なお、拡張された文字を使用するには、JIS2004に対応したフォントを使用する必要があります。

サロゲートペア文字

サロゲートペア文字に対応しており、サロゲートペア領域の文字をそのまま扱うことができます。
合成文字(結合文字)については、未対応です。

記述例

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のインスタンスは
'InitializeComponentにて作成されます。

'もし、フォームに貼り付けずに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")

'プリンタのプロパティ設定
job.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

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

'フォームファイルのクローズ
cnForm.Close()
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のインスタンスは
//InitializeComponentにて作成されます。

//もし、フォームに貼り付けずに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
{
//異常終了時にはジョブを破棄します
cnDraw1.AbortJob();

//フォームファイルのクローズ
cnForm.Close();
}
}
catch(Hos.CnDraw.ExceptionInfo.CnException ex)
{
//シーオーリポーツが出した例外を捕捉します
MessageBox.Show(ex.Message);
}
catch(System.Exception ex)
{
//想定外の例外を捕捉します
MessageBox.Show(ex.Message);
}
}

動作環境

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

クラウドサービス

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

OS
  • Windows 8.1
  • Windows 10
  • Windows 11
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022
.NET Framework
  • .NET Framework 4.5.2
  • .NET Framework 4.6
  • .NET Framework 4.6.1
  • .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 6(.NET Framework 互換モード で動作)

機能比較表

マニュアル

シーオーリポーツ for .NET Ver.3 製品版に含まれるマニュアルをご覧いただけます。
マニュアルは、ユーザサポートページ内参考資料ページにございます。

ライセンス体系

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

付属の「ユーザID」をユーザサポートページで「製品登録」することで、その製品を使用できるようになります。

開発ライセンス

開発者お一人につき1ライセンス必要です。
ユーザサポートページで製品登録することで、登録者に本製品を使用して開発を行なう権利が発生します。また運用時にモジュールを複数の環境へ配布することができます。
付属のCDからインストールしてご利用ください。
1年間のテクニカルサポートが含まれています。2年目以降にテクニカルサポートを利用するには、「テクニカルサポート」をご購入ください。

追加ライセンス

同一事業所内で複数の方が同一製品を使用する場合、開発ライセンスと組み合わせて使用できます。
ユーザサポートページで製品登録することで、登録者に本製品を使用して開発を行なう権利が発生します。また運用時にモジュールを複数の環境へ配布することができます。
CDは付属しませんので、同一事業所内の開発ライセンスに付属のCDからインストールしてご利用ください。
1年間のテクニカルサポートが含まれています。2年目以降にテクニカルサポートを利用するには、「テクニカルサポート」をご購入ください。

注意点

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