レポートの書式設定方法
スタイル シート、書式オブジェクト、書式プロパティまたはこれらの方法の組み合わせを使用して、レポートを書式設定できます。
テンプレートのスタイル シート
DOM API には、レポート生成時のレポートの書式設定用に、各出力タイプに対して既定のテンプレートが付属しています。これらのテンプレートをカスタマイズして、レポートの既定の書式設定とレイアウトを指定できます。DOM API レポート プログラムのテンプレートを参照してください。
テンプレートのスタイル シートを使用して、ドキュメント オブジェクト (段落、ヘッダー、テーブルなど) の既定の書式設定を記述します。スタイル シートは、書式設定スタイルのコレクションです。スタイルは、特定のタイプのオブジェクトを対象にした書式のコレクションに名前を付けたものです。HTML および PDF の場合は、ドキュメントの特定のコンテキストで表示される特定のタイプのオブジェクトを対象にします。たとえば、1 組の書式 (フォント サイズ、強調、フォント ファミリなど) を使用する段落スタイル MyPara
を定義できます。もう 1 組の異なる書式を使用する YourPara
という名前の別の段落スタイルを定義します。レポート プログラムを記述する際は、名前を使用してそのスタイルを段落オブジェクトに割り当てます。例については、スタイル シートのスタイルの使用を参照してください。
書式オブジェクト
書式オブジェクトは、ドキュメント形式のプロパティおよび機能 (フォント ファミリやフォント サイズなど) を定義する MATLAB® オブジェクトです。DOM API には、書式オブジェクトの作成用に一連のコンストラクターが用意されており、これらの書式オブジェクトは HTML、Word および PDF ドキュメントで利用可能な書式設定オプションの大部分に対応しています。ほとんどの DOM ドキュメント オブジェクトには、書式オブジェクトの cell 配列に設定できる Style
プロパティが含まれています。ドキュメント オブジェクトの Style
プロパティをもつ書式オブジェクトを使用して、オブジェクトを書式設定できます。たとえば、次のコードは書式オブジェクトを使用して、警告の段落のスタイルを指定します。
import mlreportgen.dom.* p = Paragraph('Danger!'); p.Style = {Color('red'),FontFamily('Arial'),FontSize('18pt')};
ベスト プラクティスは、Style
プロパティの既存の値に、追加する書式オブジェクトの cell 配列を連結して、Style
プロパティを設定することです。例:
import mlreportgen.dom.* p = Paragraph('Danger!'); p.Style = [p.Style {Color('red'),FontFamily('Arial'),FontSize('18pt')}];
こうすることで、以前に追加した書式オブジェクトや、DOM API が Style
プロパティと書式プロパティを同期するために追加した書式オブジェクトが誤って削除されるのを防ぐことができます。書式プロパティを参照してください。
書式オブジェクトの同じ配列を、1 を超える DOM ドキュメント オブジェクトに割り当てることができます。この手法を使用して、テンプレート スタイル シートと同等の機能をプログラムで作成できます。例:
import mlreportgen.dom.* warning = {Color('red'),FontFamily('Arial'),FontSize('18pt')}; p = Paragraph('Danger!'); p.Style = [p.Style warning]; p = Paragraph('Caution!'); p.Style = warning;
DOM API を使用すると、書式が適用されるかどうかにかかわらず、任意の書式オブジェクトを任意のドキュメント オブジェクトに割り当てることができます。書式が適用されない場合は無視されます。
書式プロパティ
ほとんどの DOM オブジェクトには、そのクラスのオブジェクトで一般的に使用される書式オプションに対応する一連のプロパティがあります。たとえば、次のコードは、Paragraph
オブジェクトの Color
、FontFamily
および FontSize
書式プロパティを使用して、段落のテキストのフォントと色を設定します。
import mlreportgen.dom.* p = Paragraph('Danger!'); p.Color = 'red'; p.FontFamilyName = 'Arial'; p.FontSize = '18pt';