書式の継承
DOM API を使用すると、テンプレートベースのスタイルと書式オブジェクトベースのスタイル (または対応する書式プロパティ) を使用して、オブジェクトの外観を指定できます。オブジェクトに StyleName
プロパティと Style
プロパティを設定している場合、StyleName
プロパティのテンプレートベースのスタイルで指定された対応する書式がこの Style
プロパティの書式でオーバーライドされます。たとえば、以下のコードについて考えます。
import mlreportgen.dom.*; d = Document('MyDoc','docx','MyTemplate'); p = Paragraph('Danger!'); p.StyleName = 'Warning'; p.Style = {Color('red')}; append(d,p); close(d);
Warning
スタイルは警告の色を黄色として定義しているとします。この場合、段落の Style
プロパティの設定により、StyleName
設定で指定した色がオーバーライドされます。
ドキュメント オブジェクトで StyleName
の値が指定されていない場合は、指定されていない任意の書式をコンテナーから継承します。コンテナーは、指定されていない任意の書式を自身のコンテナーから継承します。これが同様にコンテナー階層の最上位まで続きます。書式の継承により、1 つのステートメントを使用して、コンテナーに含まれるすべてのオブジェクトの書式を割り当てることができます。たとえば、次のコードは 1 つの Style
プロパティを使用して、テーブルのすべてのエントリに色を割り当てます。
import mlreportgen.dom.*; d = Document('MyDoc'); tableArray = {'a','b';'c','d'}; table = append(d,tableArray); table.Style = {Color('blue')}; close(d); rptview(d.OutputPath);