このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
PDF レポートのページ余白の設定
この例では、PDF レポートでページ余白を定義する方法を示します。PDF ページの上下左右の余白に加えて、ヘッダー、フッター、およびとじしろのサイズを定義することができます。
レポートの作成
長い完全修飾クラス名を使用せずに済むよう、DOM API パッケージをインポートします。
import mlreportgen.dom.*;
レポートを作成して開きます。
d = Document('myreport', 'pdf'); open(d);
PDF ページ ヘッダーの作成
現在のページ レイアウト オブジェクトを取得します。
currentLayout = d.CurrentPageLayout;
PDF ドキュメントのページ ヘッダー定義を作成します。
pdfheader = PDFPageHeader();
DOM Paragraph
オブジェクトを作成し、中央揃えで太字にします。フォント サイズを 12 ポイントに設定します。これを PDFPageHeader
オブジェクトに追加します。
p = Paragraph('Sample Traffic Data in Austin'); p.Style = [p.Style, {HAlign('center'), Bold(true), FontSize('12pt')}]; append(pdfheader, p);
作成した pdfheader
オブジェクトを現在のページ レイアウトの PageHeaders
に割り当てます。
currentLayout.PageHeaders = pdfheader;
本文コンテンツの作成
形式的テーブルとそのテーブル エントリで使用されるスタイル用の 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);
上余白とヘッダー サイズの設定
PDF ページのヘッダーとフッターはサイズが固定されています。ページの上端から本文コンテンツまでの高さの合計は、PageMargins
オブジェクトの Top
プロパティの値に Header
プロパティの値を加えたものです。
Top
余白プロパティを 0.75 インチに設定します。作成された 12 ポイントの Paragraph
を PDF ヘッダーに収めるには、ヘッダー サイズを 0.25 インチに設定します。1 インチは 72 ポイントに等しいので、0.25 インチは 18 ポイントに等しくなります。Paragraph
コンテンツは 12 ポイントしか占有しないため、ヘッダーを収容するのに 0.25 インチあれば十分です。本文コンテンツは、ページの上端から 1 インチの位置 (ヘッダーの高さ 0.25 インチを含む) から始まります。
currentLayout.PageMargins.Top = '0.75in'; currentLayout.PageMargins.Header = '0.25in';
PDF ページ フッターの作成
PDF ドキュメントのページ フッター定義を作成します。
pdffooter = PDFPageFooter();
水平線を pdffooter
オブジェクトに追加します。
append(pdffooter, HorizontalRule());
イメージを pdffooter
オブジェクトに追加します。DOM の ScaleToFit
書式を使用して、ページに収まるようにイメージをスケーリングします。作成した pdffooter
オブジェクトを現在のページ レイアウトの PageFooters
に割り当てます。
imgStyle = {ScaleToFit(true), HAlign('right'), Height('0.30in')}; img = Image('Logo.Png'); img.Style = imgStyle; append(pdffooter, img); currentLayout.PageFooters = pdffooter;
下余白とフッター サイズの設定
ページの下部から本文コンテンツまでの距離は、PageMargins オブジェクトの Bottom
プロパティの値に Footer
プロパティの値を加えたものになります。
Bottom
プロパティの値を 0.5 インチに設定します。高さ 0.30 インチの Image
と水平線をフッター内に収めるには、Footer
プロパティの値を 0.5 インチに設定します。これにより、ページの下部から本文コンテンツまでの距離が 1 インチになります。
currentLayout.PageMargins.Bottom = '0.5in'; currentLayout.PageMargins.Footer = '0.5in';
左余白、右余白、およびとじしろのサイズの設定
この例では、Gutter
設定を使用して、ページの左側にレポートをバインディングするための空間を残します。The 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);