CTS-KB

Scriban

すくりばん

#.NET#テンプレート#帳票#HTML#PDF生成

.NET 向けのテキスト/HTML テンプレートエンジン。構文は Shopify Liquid に近く、{{ variable }} と {{ for }} / {{ if }} で文書を組み立てる。NuGet パッケージ Scriban として配布され、OSS(BSD 2-Clause)。

帳票エンジンとしての位置づけ

CTS では ActiveReports の代替として、レビュー済みの組み込みテンプレートに出荷データを流し込み、HTML を生成する用途に使っている。生成した HTML を Playwright のヘッドレス Chromium で PDF 化する。

[帳票 DTO] + [Scriban テンプレート] → [HTML]
                                        ↓
                              [Playwright ヘッドレス Chromium]
                                        ↓
                              [印刷品質 PDF]

採用理由

観点内容
言語C# / .NET から直接呼べる。CTS-EC の帳票処理が .NET 10 のため追加ランタイムが不要
構文HTML の中に埋め込みやすい。デザイナーが CSS の mm 指定を触れる
安全装置StrictVariables・ループ上限・再帰上限を明示できる
配布テンプレートをアセンブリの埋め込みリソースにできる

Razor と比べてホスト側のコンパイルが軽く、Handlebars と比べて .NET の型と相性が良い。一方で 利用者が書いた任意の Scriban を実行する API にはしない。テンプレートはレビュー済みの組み込みに限定し、データ中の文字列は HTML エンコードする。

関連記事

関連用語

  • Playwright — 生成 HTML を印刷品質 PDF にするヘッドレスブラウザ
  • ActiveReports — 置換対象の商用帳票ライブラリ
  • SBPL — ラベル側の印字言語。Scriban + PDF とは別経路