.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 エンコードする。
関連記事
- ActiveReports → Playwright + Scriban 移行 — シリーズ「脱Microsoft・OSS移行」第 8 回
- 脱Microsoft 全体戦略・総論 — ActiveReports 置換を Phase 1 にした理由
関連用語
- Playwright — 生成 HTML を印刷品質 PDF にするヘッドレスブラウザ
- ActiveReports — 置換対象の商用帳票ライブラリ
- SBPL — ラベル側の印字言語。Scriban + PDF とは別経路