Main Content

段落の作成と書式設定

段落の作成

段落は 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.Heading1Heading2 などを使用して、見出しを作成することができます。あるいは、mlreportgen.dom.Heading オブジェクトを使用して、プログラムで得た値を見出しレベルに使用することもできます。

この例では、テキスト Chapter 1: System Overview を使用して第 1 レベルの見出しを作成します。目次を作成する場合、この見出しは最上位に表示されます。

h1 = Heading1('Chapter 1: System Overview');

段落の書式設定

DOM 書式オブジェクトまたは書式プロパティを使用して、段落を書式設定できます。テンプレート スタイルを使用することもできます。これらの書式設定の手法および書式の継承の詳細については、レポートの書式設定方法を参照してください。

メモ

見出しオブジェクト (Heading および Heading1Heading2 など) には、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);

以下のオブジェクトとプロパティを使用して、段落を書式設定します。

書式設定 書式オブジェクト書式プロパティ

フォント

FontFamily

FontFamilyName

バックアップ フォント (HTML のみ)

FontFamily

N/A

コンプレックス スクリプト用のフォント (アラビア語など)

FontFamily

N/A

東アジア言語用のフォント

FontFamily

N/A

フォント サイズ

FontSize

FontSize

前景色

Color

Color

背景色

BackgroundColor

BackgroundColor

太字

Bold

Bold

イタリック

Italic

Italic

下付き文字または上付き文字

VerticalAlign

N/A

取り消し線

Strike

Strike

下線のタイプ

Underline

Underline

下線の色

Underline

N/A

段落の周囲の境界線の作成

Border

N/A

空白の保持

WhiteSpace

WhiteSpace

段落のインデント

OuterMargin

OuterLeftMargin

段落の 1 行目のインデント

FirstLineIndent

FirstLineIndent

ぶら下げインデント

FirstLineIndent

N/A

段落前後の空白

OuterMargin

N/A

段落の右側の空白

OuterMargin

N/A

段落と境界ボックスの間の空白

InnerMargin

N/A

段落の行間の空白

LineSpacing

N/A

段落の左揃え、中央揃え、右揃え

HAlign

HAlign

次ページから段落を開始

PageBreakBefore

N/A

次の段落と分離しない

KeepWithNext

N/A

同じページに段落を保持

KeepLinesTogether

N/A

1 行残して段落を区切らない

WidowOrphanControl

N/A

段落の目次レベル

OutlineLevel

OutlineLevel

指定どおりに表示

Display

N/A

テンプレート スタイルを使用した Microsoft Word の段落の書式設定

Word テンプレートのスタイルを使用して段落を書式設定できます。テンプレートにスタイルを追加したり、既存のスタイルを変更できます。

段落スタイルを追加するには、以下のようにします。

  1. レポートで使用する Word テンプレートを開きます。

  2. [スタイル] ペインを開きます。

  3. [スタイルの管理] ボタン をクリックします。

  4. [新しいスタイル] をクリックします。

  5. [書式から新しいスタイルを作成] ダイアログ ボックスで、[種類][文字] または [リンク (段落と文字)] に設定します。

  6. 必要に応じてスタイルを書式設定します。

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);

参考

クラス

関連する例

詳細