主要内容

创建带有纵向和横向页面的报告

此示例演示如何创建包含11 x 8.5英寸横向页面和8.5 x 11英寸纵向页面的报表。报告使用横向页面来适应宽到不适合纵向页面的内容,例如这些并排图像。

导入DOM和Report API包,这样就不必使用较长的类名。

进口mlreportgen.dom。*;进口mlreportgen.report。*

创建一个容器来保存报表内容。

要创建Word报表,请将输出类型从“pdf”更改为“docx”。rpt = mlreportgen.report.Report(“PortraitAndLandscapeReport”“pdf”);

创建一个章节,标题为“随机噪声余弦值图的类型”。

章节=章节“标题”随机噪声余弦值图的类型);

设置章节景观布局为true。这将把整个章节的布局设置为横向。

chapter.Layout.Landscape = true;

创建要绘制的变量。在0到3之间创建200个等间距的x值。创建y作为随机噪声的余弦值。

X = linspace(0,3*pi,200);Y = cos(x) +兰特(1200);

创建x和y值的图形对象:条形图(图1)、散点图(图2)和二维折线图(图3)。

创建围绕图形快照映像文件的映像对象。设置图形对象的缩放,使它们适合表项。

imgStyle = {ScaleToFit(true)};fig1 =图(bar(x, y));fig1Img = Image(getSnapshotImage(fig1, rpt));fig1Img。Style = imgStyle;删除(gcf);fig2 =图(散点(x,y));

fig2Img = Image(getSnapshotImage(fig2, rpt));fig2Img。Style = imgStyle;删除(gcf);fig3 =图(plot(x,y));fig3Img = Image(getSnapshotImage(fig3, rpt));fig3Img。Style = imgStyle;删除(gcf);

将图像插入1x5不可见布局表(lo_table)的唯一一行(图形之间有2个空表项)。当一个表或它的任何表项都没有定义边界时,该表被认为是不可见的。仅当指定了表项的高度和宽度时,图像的大小才适合表项。

lo_table = Table({fig1Img,' 'fig2Img,' ', fig3Img});lo_table.entry(1, 1)。样式={宽度(“3.2”)、高(“3”)};lo_table.entry(1、2)。样式={宽度(“.2in”)、高(“3”)};lo_table.entry(1、3)。样式={宽度(“3.2”)、高(“3”)};lo_table.entry(1, 4)。样式={宽度(“.2in”)、高(“3”)};lo_table.entry(1、5)。样式={宽度(“3”)、高(“3”)};

将表格添加到章节中,将章节添加到报告中。

添加(章,lo_table);add (rpt,章);

创建一个标题为“Surface Plot”的章节。章节的默认布局是纵向布局。

chapter1 =章节(“标题”“曲面图”);

为曲面图创建一个图形对象(图4)。创建围绕图形快照映像文件的映像对象。

fig4 =图(surf(peaks(20)));fig4Img = Image(getSnapshotImage(fig4, rpt));fig4Img。Style = imgStyle;删除(gcf);

将生成的图像对象添加到章节,并将章节添加到报告。

add (chapter1, fig4Img);添加(rpt, chapter1);

生成并显示报告

关闭(rpt);rptview (rpt);

生成的报告包括横向页面上的并排图形快照和纵向页面上的表面绘图。