テキストの作成と書式設定
テキストの作成
文字ベクトルをドキュメント、段落、テーブル エントリまたはリスト項目に追加することで、テキストを作成できます。DOM の関数 append
は、文字ベクトルを Text
オブジェクトに変換し、それを追加して、Text
オブジェクトを返します。Text
オブジェクトを使用してテキストを書式設定します。text オブジェクトを直接作成し、ドキュメントに追加することもできます。ここでの例では、
'Hello'
をドキュメントに追加することで、Text
オブジェクトt1
を作成Text
コンストラクターを使用して、Text
オブジェクトを作成し、テキスト'World'
をドキュメントに追加
import mlreportgen.dom.* d = Document('mydoc','html'); t1 = append(d,'Hello'); append(d,Text('World')); close(d); rptview(d.OutputPath);
特殊文字の作成
mlreportgen.dom.CharEntity
オブジェクトを作成して、特殊文字 (英国ポンド記号など) を定義してレポートに含めることができます。https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references にリストされている文字エンティティの名前を指定します。例:
import mlreportgen.dom.*; d = Document('test','html'); p = Paragraph(CharEntity('pound')); append(d,p); append(p,'3'); close(d); rptview(d.OutputPath);
HTML または XML マークアップの追加
HTML マークアップを HTML ドキュメントに追加したり、Microsoft® Word XML マークアップを Word ドキュメントに追加するには、mlreportgen.dom.RawText
オブジェクトを使用します。この手法は、DOM API で直接サポートされていない HTML または Word 要素の作成に役立ちます。この例では、RawText
オブジェクトを作成して HTML マークアップを追加する方法を示します。
import mlreportgen.dom.*; d = Document('test','html'); append(d,RawText('<em>Emphasized Text</em>')); close(d); rptview('test','html');
テキストの書式設定
DOM 書式オブジェクトまたは Text
オブジェクトの書式プロパティを使用して、テキストをプログラムによって書式設定できます。テンプレート スタイルを使用することもできます。これらの書式設定の手法および書式の継承の詳細については、レポートの書式設定方法を参照してください。
プログラムによるテキストの書式設定
書式オブジェクトを使用して Text
オブジェクトを書式設定したり、書式プロパティを使用して一般的に使用されるテキストの書式を指定したりできます。この例では以下を使用します。
第 1 フォントおよびバックアップ フォントを指定する
FontFamily
書式オブジェクトテキストの太さを指定する
Bold
書式プロパティ
import mlreportgen.dom.*; d = Document('test','html'); t = append(d,'Bold Arial text'); fontFamily = FontFamily('Arial'); fontFamily.BackupFamilyNames = {'Helvetica'}; t.Style = {fontFamily}; t.Bold = true; close(d); rptview(d.OutputPath);
これらの書式オブジェクトと書式プロパティを使用して、テキストを書式設定します。
書式設定 | 書式オブジェクト | 書式プロパティ |
---|---|---|
フォント |
|
|
バックアップ フォント (HTML のみ) |
| N/A |
コンプレックス スクリプト用のフォント (アラビア語など) |
| N/A |
東アジア言語用のフォント |
| N/A |
フォント サイズ |
|
|
前景色 |
|
|
背景色 |
|
|
太字 |
|
|
イタリック |
|
|
下付き文字または上付き文字 |
| N/A |
取り消し線 |
|
|
下線のタイプ (単一線、二重線など) |
|
|
下線の色 |
| N/A |
空白の保持 |
|
|
指定どおりに表示 |
| N/A |
Microsoft Word スタイル シートを使用したテキストの書式設定
レポートの生成に使用した Word テンプレート内に定義されたスタイルを使用して、段落を書式設定できます。
Word テンプレートでテキスト スタイルを定義するには、まず次の手順に従います。
レポートで使用する Word テンプレートを開きます。
[スタイル] ペインを開きます。
[スタイルの管理] ボタン をクリックします。
[新しいスタイル] をクリックします。
[書式から新しいスタイルを作成] ダイアログ ボックスで、[種類] を
[文字]
または[リンク (段落と文字)]
に設定します。
Word スタイルの取り扱い方法の詳細については、Microsoft Word テンプレートでのスタイルの変更を参照してください。
スタイル シートを使用した HTML と PDF のテキストの書式設定
レポートの生成に使用するテンプレート内に定義されたスタイルを使用して、テキストを書式設定できます。テンプレート スタイルを Text
オブジェクトに適用するには、Text
オブジェクト コンストラクターの 2 番目の引数として指定するか、StyleName
プロパティをテンプレート スタイルに設定します。
スタイルを定義するには、カスケード スタイル シート (CSS) の構文を使用します。span
要素でセレクターを使用して、スタイル名を指定します。この CSS は、Pass
という名前のスタイルを定義します。
span.Pass { font-family: "Times New Roman", Times, serif; color: green; }
HTML テンプレートでは、任意の CSS プロパティおよびセレクターを使用できます。PDF テンプレートでは、CSS プロパティとセレクターのサブセットを使用できます。PDF テンプレートでのスタイルの変更を参照してください。
text オブジェクトへのスタイルの適用
テンプレート スタイルを Text
オブジェクトに適用するには、Text
オブジェクト コンストラクターの 2 番目の引数として指定するか、StyleName
プロパティをテンプレート スタイルに設定します。レポート用のテンプレートに Body
、Pass
および Fail
という名前のスタイルを定義したとします。その後、これらのスタイルを適用できます。
import mlreportgen.dom.*; passed = rand(1) >= 0.5; rpt = Document('MyReport','html','MyTemplate'); t1 = Text('Test status: '); t1.StyleName = 'Body'; t1.WhiteSpace = 'preserve'; if passed status = 'Passed'; statusStyle = 'Pass'; else status = 'Failed'; statusStyle = 'Fail'; end t2 = Text(status,statusStyle); statusPara = Paragraph(t1); append(statusPara,t2); append(rpt, statusPara); close(rpt); rptview(rpt.OutputPath);
テンプレートの書式のオーバーライド
プログラムによる書式設定を使用して、テンプレートベースのスタイルで定義された書式をオーバーライドできます。AlertLevel
という名前の、色を緑に設定するスタイルをテンプレートに定義しているとします。レポート プログラムでこのスタイルをオーバーライドし、現在の警告レベルに応じて色を設定できます。
t = Text('Danger!','AlertLevel'); t.Color = 'red';
参考
クラス
mlreportgen.dom.Text
|mlreportgen.dom.CharEntity
|mlreportgen.dom.FontFamily
|mlreportgen.dom.FontSize
|mlreportgen.dom.Bold
|mlreportgen.dom.Italic
|mlreportgen.dom.Underline
|mlreportgen.dom.Strike