在 Word 报告中设置页边距
此示例显示如何在 Word(DOCX)报告中定义页边距。您可以定义 DOCX 页面的顶部、底部、左侧、右侧边距,以及页眉、页脚和装订线大小。
创建报告
导入 DOM API 命名空间,这样您就不必使用长而完全限定的类名。
import mlreportgen.dom.*;
创建并打开报告。
d = Document('myreport', 'docx'); open(d);
创建 DOCX 页眉
获取当前页面布局对象。
currentLayout = d.CurrentPageLayout;
为 DOCX 文档创建页眉定义。
docxheader = DOCXPageHeader();
创建一个 DOM Paragraph
对象并使其居中对齐且加粗。将其字体大小设置为 12pt。将其追加到 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;
创建正文内容
为正式表格及其表格条目要使用的样式创建元胞数组。
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);
设置上边距和页眉大小
PageMargins
对象的 Top
属性指定边距的高度。Header
属性指定从页面顶部到页眉开头的距离。页面顶部到页面主体的距离取决于 Top
属性、Header
属性和页眉内容的高度。例如,如果 Header
属性小于 Top
属性,则页眉从上边距开始,向下扩展以容纳页眉内容。正文从边距底部或页眉(以较大者为准)开始。
使用以下设置确保页眉适合 Top
边距。将 Top
属性设置为 1 英寸。1 英寸等于 72 点,因此 0.25 英寸等于 18 点。将 Header
值设置为 0.75 英寸,因为剩余的 0.25 英寸足以容纳在 DOCX 标题中创建的 12 pts Paragraph
。
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 英
寸。为了适应 Image
的 0.30 英寸高度和在 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);