C# / .NETでお使いの方へ — Docker体験版
オールインワンZIPに、この言語の3サンプルを収録しています。ZIPを展開し「はじめに.html」から言語を選んでください。各サンプルのREADMEに、Dockerでの起動・終了方法と、編集するソースの場所をまとめています。
すべての言語のDocker配布案内 → オールインワンZIPをダウンロード →C#で用意した業務データを、Webの帳票へ。ASP.NET Coreから共通の印刷データを渡して、ブラウザでのプレビュー・印刷とPDF出力につなげます。
公開デモが別タブで開きます。ご自身の環境で動かす手順は利用ガイドで紹介しています。
オールインワンZIPに、この言語の3サンプルを収録しています。ZIPを展開し「はじめに.html」から言語を選んでください。各サンプルのREADMEに、Dockerでの起動・終了方法と、編集するソースの場所をまとめています。
すべての言語のDocker配布案内 → オールインワンZIPをダウンロード →C#の補助ライブラリを参照し、帳票定義に項目の値やページの内容を設定します。従来のPao.Reports.dllを呼び出す方式ではなく、他言語と共通のJSONとWebエンジンを利用する構成です。既存Reports.NETのAPIをそのまま置き換えるものではありません。
ブラウザのデザイナーで帳票定義 .prepdj を作り、補助クラスで印刷データ .prepej にまとめます。
以下は txtTotal という項目のある帳票定義を使う例です。サンプルの補助ライブラリが必要です。
using System.Text.Json.Nodes;
using Pao.Reports.Web;
var definition = JsonNode.Parse(
File.ReadAllText("invoice.prepdj"))!.AsObject();
var document = new PrintData().SetDefinition(definition);
document.PageStart();
document.SetValue("txtTotal", "12,345");
document.PageEnd();
string json = document.ToJson();サンプルのReportDataプロジェクトを参照するC#の例です。
参照するソース:samples/dotnet/ReportData
ASP.NET Coreが印刷データをJSONとして返せば、ブラウザ側でプレビュー・印刷できます。サーバー生成を選ぶ場合は、C#から内部のNode.js描画サービスを呼び出してPDFを取得します。
サンプルでは請求書のプレビューと印刷、ブラウザ/サーバーでのPDF生成、印刷データの保存・読み込みを試せます。プレビューと印刷はSVG、PDFは別の出力経路です。
印刷ダイアログはブラウザが開きます。プリンターへの無人・自動印刷を保証するものではありません。
WebAssembly(WASM)が動く仕組みを見る →