段落の作成と書式設定
段落の作成
段落は mlreportgen.dom.Paragraph
コンストラクターで文字ベクトルを使用して作成できます。例:
p = Paragraph('Text for a paragraph');
Paragraph
オブジェクト コンストラクターでは、以下の DOM オブジェクトを指定することもできます。
mlreportgen.dom.Text
mlreportgen.dom.ExternalLink
mlreportgen.dom.InternalLink
mlreportgen.dom.LinkTarget
mlreportgen.dom.Image
見出しの作成
見出しは段落の一種です。mlreportgen.dom.Heading1
や Heading2
などを使用して、見出しを作成することができます。あるいは、mlreportgen.dom.Heading
オブジェクトを使用して、プログラムで得た値を見出しレベルに使用することもできます。
この例では、テキスト Chapter 1: System Overview
を使用して第 1 レベルの見出しを作成します。目次を作成する場合、この見出しは最上位に表示されます。
h1 = Heading1('Chapter 1: System Overview');
段落の書式設定
DOM 書式オブジェクトまたは書式プロパティを使用して、段落を書式設定できます。テンプレート スタイルを使用することもできます。これらの書式設定の手法および書式の継承の詳細については、レポートの書式設定方法を参照してください。
メモ
見出しオブジェクト (Heading
および Heading1
、Heading2
など) には、Paragraph
オブジェクトに使用するのと同じ書式オブジェクトとプロパティを使用できます。
プログラムによる段落の書式設定
DOM API 書式オブジェクトを使用して Paragraph
オブジェクトを書式設定したり、書式プロパティを使用して一般的に使用される段落書式を指定できます。この例では以下を使用します。
段落の余白を指定する
OuterMargin
書式オブジェクト段落を中央に揃える
HAlign
書式プロパティ
import mlreportgen.dom.*; d = Document('test','html'); p = Paragraph('Indent a half inch and space after 12 points.'); p.Style = {OuterMargin('0.5in','0in','0in','12pt')}; append(d,p); p = Paragraph('Centered paragraph'); p.HAlign = 'center'; append(d,p); close(d); rptview(d.OutputPath);
以下のオブジェクトとプロパティを使用して、段落を書式設定します。
書式設定 | 書式オブジェクト | 書式プロパティ |
---|---|---|
フォント |
|
|
バックアップ フォント (HTML のみ) |
| N/A |
コンプレックス スクリプト用のフォント (アラビア語など) |
| N/A |
東アジア言語用のフォント |
| N/A |
フォント サイズ |
|
|
前景色 |
|
|
背景色 |
|
|
太字 |
|
|
イタリック |
|
|
下付き文字または上付き文字 |
| N/A |
取り消し線 |
|
|
下線のタイプ |
|
|
下線の色 |
| N/A |
段落の周囲の境界線の作成 |
| N/A |
空白の保持 |
|
|
段落のインデント |
|
|
段落の 1 行目のインデント |
|
|
ぶら下げインデント |
| N/A |
段落前後の空白 |
| N/A |
段落の右側の空白 |
| N/A |
段落と境界ボックスの間の空白 |
| N/A |
段落の行間の空白 |
| N/A |
段落の左揃え、中央揃え、右揃え |
|
|
次ページから段落を開始 |
| N/A |
次の段落と分離しない |
| N/A |
同じページに段落を保持 |
| N/A |
1 行残して段落を区切らない |
| N/A |
段落の目次レベル |
|
|
指定どおりに表示 |
| N/A |
テンプレート スタイルを使用した Microsoft Word の段落の書式設定
Word テンプレートのスタイルを使用して段落を書式設定できます。テンプレートにスタイルを追加したり、既存のスタイルを変更できます。
段落スタイルを追加するには、以下のようにします。
レポートで使用する Word テンプレートを開きます。
[スタイル] ペインを開きます。
[スタイルの管理] ボタン
をクリックします。
[新しいスタイル] をクリックします。
[書式から新しいスタイルを作成] ダイアログ ボックスで、[種類] を
[文字]
または[リンク (段落と文字)]
に設定します。必要に応じてスタイルを書式設定します。
Word スタイルの取り扱い方法の詳細については、Microsoft Word テンプレートでのスタイルの変更を参照してください。
PDF または HTML のテンプレート スタイルを使用した段落の書式設定
テンプレートの HTML または PDF のスタイル シートのスタイルを使用して段落を書式設定できます。テンプレートにスタイルを追加したり、既存のスタイルを変更できます。
p
要素でセレクターを使用してスタイルを定義します。この例では、BodyPara
段落スタイルを定義します。
p.BodyPara { font-family: "Times New Roman", Times, serif; font-style: normal; font-size: 11pt; color: black; margin-left: 0.5in; }
HTML テンプレートでは、任意の CSS プロパティおよびセレクターを使用できます。PDF テンプレートでは、CSS プロパティとセレクターのサブセットを使用できます。PDF テンプレートでのスタイルの変更を参照してください。
DOM オブジェクトでの HTML スタイルの使用の詳細については、HTML テンプレートでのスタイルの変更を参照してください。
段落オブジェクトへのスタイルの適用
テンプレート スタイルを Paragraph
オブジェクトに適用するには、Paragraph
オブジェクト コンストラクターの 2 番目の引数として指定するか、段落の StyleName
プロパティをテンプレート スタイルに設定します。
テンプレートに BodyPara
および MyTitle
という名前のスタイルを定義しているとします。この例では、最初に Paragraph
コンストラクターでスタイルの名前を指定します。それから、Paragraph
オブジェクトの StyleName
書式プロパティでスタイルを指定します。この例では、両方のスタイルが MyTemplate
で定義されているとします。
import mlreportgen.dom.*; rpt = Document('MyReport','html','MyTemplate'); % Specify style name using an argument when you create the Paragraph p = Paragraph('Format this paragraph using a body style.','BodyPara'); append(rpt,p); p = Paragraph('This paragraph is formatted using a title style.'); % Specify style name using a property on the paragraph p.StyleName = 'MyTitle'; append(rpt,p); close(rpt); rptview(rpt.OutputPath);
テンプレートの書式のオーバーライド
プログラムによる書式設定を使用して、テンプレートベースの段落スタイルで定義した段落書式をオーバーライドできます。Word テンプレートで BodyPara
という名前の段落スタイルを定義し、KeepWithNext
プロパティを off
に設定しているとします。レポート プログラムでこのスタイルをオーバーライドし、特定の段落を次の段落と同じページに保持するようにできます。
import mlreportgen.dom.*; rpt = Document('MyReport','docx','MyTemplate'); p = Paragraph('Keep this body paragraph with next.','BodyPara'); p.Style = {'KeepWithNext'}; append(rpt,p); p = Paragraph('Next paragraph.'); append(rpt, p); close(rpt); rptview(rpt.OutputPath);
参考
クラス
mlreportgen.dom.Paragraph
|mlreportgen.dom.Text
|mlreportgen.dom.FontFamily
|mlreportgen.dom.FontSize
|mlreportgen.dom.Bold
|mlreportgen.dom.Italic
|mlreportgen.dom.Underline
|mlreportgen.dom.Strike
|mlreportgen.dom.KeepLinesTogether
|mlreportgen.dom.KeepWithNext
|mlreportgen.dom.PageBreakBefore
|mlreportgen.dom.LineSpacing
|mlreportgen.dom.Display