在 PDF 报告中设置页边距
此示例显示如何在 PDF 报告中定义页边距。您可以定义 PDF 页面的顶部、底部、左侧、右侧边距,以及页眉、页脚和装订线大小。

创建报告
导入 DOM API 命名空间,这样您就不必使用长而完全限定的类名。
import mlreportgen.dom.*;创建并打开报告。
d = Document('myreport', 'pdf'); open(d);
创建 PDF 页眉
获取当前页面布局对象。
currentLayout = d.CurrentPageLayout;
为 PDF 文档创建页眉定义。
pdfheader = PDFPageHeader();
创建一个 DOM Paragraph 对象并使其居中对齐且加粗。将其字体大小设置为 12pt。将其追加到 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;
创建正文内容
为正式表格及其表格条目要使用的样式创建元胞数组。
dataTableStyle = {Border('solid'), ColSep('solid'), RowSep('solid'), Width('100%')...
OuterMargin('0pt', '0pt', '0pt', '0pt')};从奥斯汀交通摄像头创建一些样本数据并包含在表格中。然后创建一个 FormalTable 对象并将示例数据包含在 Header 和 Body 部分中。
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 页眉和页脚的大小是固定的。从页面顶部到正文内容的总高度是 Top 对象的 PageMargins 属性值加上 Header 属性值。
将 Top 边距属性设置为 0.75 英寸。为了适应 PDF 页眉中创建的 12 pts Paragraph,请将页眉大小设置为 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 英寸。为了适应 Image 的 0.30 英寸高度和页脚中的水平规则,请将 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);