Word レポートのページ余白の設定
この例では、Word (DOCX) レポートでページ余白を定義する方法を示します。DOCX ページの上下左右の余白に加えて、ヘッダー、フッター、およびとじしろのサイズを定義することができます。

レポートの作成
長い完全修飾クラス名を使用せずに済むよう、DOM API 名前空間をインポートします。
import mlreportgen.dom.*;レポートを作成して開きます。
d = Document('myreport', 'docx'); open(d);
DOCX ページ ヘッダーの作成
現在のページ レイアウト オブジェクトを取得します。
currentLayout = d.CurrentPageLayout;
DOCX ドキュメントのページ ヘッダー定義を作成します。
docxheader = DOCXPageHeader();
DOM Paragraph オブジェクトを作成し、中央揃えで太字にします。フォント サイズを 12 ポイントに設定します。これを DOCXPageHeader オブジェクトに追加します。
p = Paragraph('Sample Traffic Data in Austin'); p.Style = [p.Style, {HAlign('center'), Bold(true), FontSize('12pt')}]; append(docxheader, p);
作成した docxheader オブジェクトを現在のページ レイアウトの PageHeaders に割り当てます。
currentLayout.PageHeaders = docxheader;
本文コンテンツの作成
形式的テーブルとそのテーブル エントリで使用されるスタイル用の cell 配列を作成します。
dataTableStyle = {Border('solid'), ColSep('solid'), RowSep('solid'), Width('100%')...
OuterMargin('0pt', '0pt', '0pt', '0pt')};オースティンの交通カメラからいくつかのサンプル データを作成して、テーブルに含めます。次に FormalTable オブジェクトを作成し、サンプル データをヘッダー セクションと本体セクションに含めます。
dataHeader = {'Camera ID', 'Status', 'Manufacturer', 'Signal Engineer Area'};
dataBody = {'1', 'TURNED_ON', 'Spectra', 'NORTHEAST';
'2', 'TURNED_ON', 'Sarix', 'NORTHWEST';
'3', 'TURNED_OFF', 'Spectura', 'SOUTHWEST';
'3', 'TURNED_ON', 'Spectura', 'NORTHEAST';
'4', 'TURNED_ON', 'Sarix', 'SOUTHEAST';
'5', 'TURNED_ON', 'Spectra', 'NORTHEAST';
'6', 'TURNED_ON', 'Sarix', 'NORTHWEST';
'7', 'TURNED_OFF', 'Spectura', 'SOUTHWEST';
'8', 'TURNED_ON', 'Spectura', 'NORTHEAST';
'9', 'TURNED_ON', 'Sarix', 'SOUTHEAST'};
dataTable = FormalTable(dataHeader, dataBody);
dataTable.Header.Style = [dataTable.Header.Style {Bold}];
dataTable.Style = [dataTable.Style dataTableStyle];
append(d, dataTable);上余白とヘッダー サイズの設定
PageMargins オブジェクトの Top プロパティは、余白の高さを指定します。Header プロパティは、ページの上端からヘッダーの開始点までの距離を指定します。ページの上端からページ本体までの距離は、Top プロパティ、Header プロパティ、およびヘッダー コンテンツの高さによって異なります。たとえば、Header プロパティが Top プロパティより小さい場合、ヘッダーは上余白内で開始され、ヘッダーのコンテンツに合わせて下に拡張されます。本文は、余白またはヘッダーのいずれか大きい方の下端から始まります。
ヘッダーが Top 余白に収まるようにするには、次の設定を使用します。Top プロパティを 1 インチに設定します。1 インチは 72 ポイントに等しいので、0.25 インチは 18 ポイントに等しくなります。Header の値を 0.75 インチに設定します。残りの 0.25 インチは、作成される 12 ポイントの Paragraph を DOCX ヘッダーに収めるのに十分です。

currentLayout.PageMargins.Top = '1in'; currentLayout.PageMargins.Header = '0.75in';
DOCX ページ フッターの作成
DOCX ドキュメントのページ フッター定義を作成します。
docxfooter = DOCXPageFooter();
水平線を docxfooter オブジェクトに追加します。
append(docxfooter, HorizontalRule());
イメージを docxfooter オブジェクトに追加します。DOM の ScaleToFit 書式を使用して、ページに収まるようにイメージをスケーリングします。作成した docxfooter オブジェクトを現在のページ レイアウトの PageFooters に割り当てます。
imgStyle = {ScaleToFit(true), HAlign('right'), Height('0.30in')};
img = Image('Logo_footer.Png');
img.Style = imgStyle;
append(docxfooter, img);
currentLayout.PageFooters = docxfooter;下余白とフッター サイズの設定
PageMargins オブジェクトの Bottom プロパティは、ページ余白の高さを指定します。Footer プロパティは、ページの下端からフッターの下端までの距離を指定します。ページの下端からページ本体までの距離は、Bottom プロパティと Footer プロパティの設定、およびフッター コンテンツの高さによって異なります。たとえば、Footer プロパティが Bottom プロパティより小さい場合、フッターは下余白内で開始され、フッターのコンテンツを拡張するために上に拡張されます。本文は、余白またはフッターのいずれか大きい方の上端から始まります。
Bottom プロパティ値を 1 インチに設定します。高さ 0.30 インチの Image と作成される水平線を DOCX フッター内に収めるには、Footer プロパティの値を 0.5 インチに設定します。

currentLayout.PageMargins.Bottom = '1in'; currentLayout.PageMargins.Footer = '0.5in';
左余白、右余白、およびとじしろのサイズの設定
この例では、Gutter 設定を使用して、ページの左側にレポートをバインディングするための空間を残します。Gutter サイズは 0.25 インチに設定され、Left 余白は 0.5 インチに設定されます。したがって、コンテンツはページの左側から 0.75 インチのところ (左余白 + とじしろ) から始まります。Right 余白は 0.5 インチに設定されます。

currentLayout.PageMargins.Gutter = '0.25in'; currentLayout.PageMargins.Left = '0.5in'; currentLayout.PageMargins.Right = '0.5in';
レポートを生成して表示します。
close(d); rptview(d.OutputPath);