このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
書式の継承
ドキュメント オブジェクト モデル (DOM) API を使用すると、テンプレートベースのスタイルを使用してドキュメント要素オブジェクトの外観を指定したり、オブジェクトベースのスタイルやそれに相当する書式プロパティを書式設定したりできます。ドキュメント要素オブジェクトの StyleName
プロパティと Style
プロパティを設定している場合、StyleName
プロパティのテンプレートベースのスタイルで指定された対応する書式がこの Style
プロパティの書式でオーバーライドされます。この例において、Warning
スタイルは警告の色を黄色として定義しているとします。段落の Style
プロパティの設定により、StyleName
設定で指定した色がオーバーライドされます。
import mlreportgen.dom.*; d = Document("MyDoc","docx","MyTemplate"); p = Paragraph("Danger!"); p.StyleName = "Warning"; p.Style = {Color("red")}; append(d,p); close(d);
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);
HTML または PDF のレポートを生成すると、ドキュメント要素オブジェクトは、StyleName
の値を指定しているかどうかにかかわらず、指定されていない書式をコンテナーから継承します。コンテナーは、指定されていない任意の書式を自身のコンテナーから継承し、これがコンテナー階層の最上位まで同様に繰り返されます。
DOCX レポートを生成し、ドキュメント要素オブジェクトの StyleName
の値を指定すると、オブジェクトは指定されていない書式をコンテナーから継承しません。この例では、ドキュメント要素オブジェクト text
は StyleName
の値を指定し、ドキュメント要素オブジェクト para
に指定された太字書式を継承しません。
import mlreportgen.dom.*; d = Document("MyDoc","docx"); text = Text("My Paragraph"); text.Underline = "single"; text.StyleName = "paraTitle"; para = Paragraph(text); para.Bold = true; append(d,para); close(d); rptview(d);
StyleName
の値を指定しなかった場合、ドキュメント要素オブジェクト text
は、ドキュメント要素オブジェクト para
に指定された太字書式を継承します。
import mlreportgen.dom.*; d = Document("MyDoc","docx"); text = Text("My Paragraph"); text.Underline = "single"; para = Paragraph(text); para.Bold = true; append(d,para); close(d); rptview(d);