主要内容

在页面中居中图形快照

这个示例演示了如何将图形快照集中在横向页面上的PDF和Microsoft®Word报表。

该示例创建一个具有横向布局的Report API报告,创建MATLAB图形,然后使用中心配置本地功能要在页面中心创建和添加这些数字的快照。

创建报告

导入DOM和Report API包,这样就不必使用长且完全限定的类名。

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

创建PDF报告。要创建Microsoft®Word报表,请更改“pdf”“多克斯”

rpt =报告(“我的报告”“pdf”);打开(rpt);

更新报告页面布局

创建页面布局对象。

如果Strcmpi(rpt.type,“pdf”) pageLayoutObj = PDFPageLayout;其他的pageLayoutObj = DOCXPageLayout;结束

指定页面方向,高度和宽度。

pageLayoutObj.PageSize.Orientation =“风景”;pageLayoutObj.PageSize.Height =“8.5”;pageLayoutObj.PageSize.Width =“11”

指定页面边距。

pageLayoutObj.PageMargins.Top =“0.5英寸”;pagelayoutobj.pagemargins.bottom =“0.5英寸”;pagelayoutobj.pagemargins.left =.“0.5英寸”;pageLayoutObj.PageMargins.Right =“0.5英寸”;pageLayoutObj.PageMargins.Header =“0.3”;pageLayoutObj.PageMargins.Footer =“0.3”

将页面布局对象添加到报表中。

添加(RPT,Pagelayoutobj);

创建和添加图形

用线性情节创建一个图形。

f =图();情节(1:1:10 2:2:20);网格

调用中心配置本地功能,在页面的中心添加图形快照。然后,删除图形对象。

centerFigure (f, rpt);

删除(f);

同样地,在页面的中心添加膜面图快照。

中心配置(冲浪(膜),RPT);

删除(GCF);

生成报告

关闭并查看报告。

关闭(rpt);rptview (rpt);

中心配置本地功能

此函数创建指定图形的快照,并将其添加到指定报告中页面的中心。该函数使用Report API数字记者采取数字快照和一个隐形Dom桌子做布局。

功能rpt centerFigure(图)

导入DOM API、Report API和报表生成器实用程序包,这样您就不必使用长且完全限定的类名。

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

获取报告的当前页面布局以确定当前页面大小和页面边距。页面布局信息用于计算页面正文大小,以便大小在后续步骤中创建的布局表。

pageLayout = getReportLayout (rpt);页大小= pageLayout.PageSize;pageMargins = pageLayout.PageMargins;

计算页面体宽度。页面体宽度表示内容可用的页面宽度,并通过从页面宽度中减去左侧和右边距大小来确定。对于DOCX输出,还需要减去排水沟大小。

bodyWidth = units.toInches(pagsize . width) -...单位.Toinches(Pagemargins.left) -...单位.Toinches(Pagemargins.Right);如果Strcmpi(rpt.type,“多克斯”) bodyWidth = bodyWidth -...units.toInches (pageMargins.Gutter);结束bodyWidth = sprintf (“% 0.2鳍”, bodyWidth);

计算页面身高。页面体高度表示内容可用的页面高度,并通过从页面高度中减去顶部和底部边距大小来确定。对于PDF输出,还需要减去页眉和页脚大小,因为主体从标题的底部延伸到页脚顶部。

bodyheight = sense.toinches(pagesize.height) -...units.toInches (pageMargins.Top)...units.toInches (pageMargins.Bottom);如果Strcmpi(rpt.type,“pdf”) bodyHeight = bodyHeight -...units.toInches (pageMargins.Header)...units.toInches (pageMargins.Footer);结束bodyHeight = sprintf (“% 0.2鳍”,身高);

创建一个数字对象的指定图形。然后,创建一个图像对象包围图形快照图像文件。缩放图像以适应在后续步骤中创建的布局表的条目。

无花果=图(图);figImg =图像(getSnapshotImage(无花果、rpt));figImg。= [figImg风格。风格{ScaleToFit}];

将图像包裹在段落中,因为PDF要求图像驻留在段落中。更新段落样式以确保图像周围没有空白空间。

=段(Fimimg);para.style = [para.style {outermargin(“0in”“0in”“0in”“0in”)}];

添加包含1×1不可见布局表中的图形快照(lo_table).当表及其表项没有定义边框时,表被认为是不可见的。

lo_table =表({para});

将表扩展到可用的页体宽度。

lo_table.width = bodywidth;

将唯一的表项扩展到可用的页面体高度。另外,指定垂直和水平对齐格式,以确保图像在表格条目中处于垂直和水平居中。

lo_table。桌子EntriesStyle = [lo_table.TableEntriesStyle......高度(bodyHeight),...槌(“中央”),...勇敢(“中间”...});

将布局表添加到报表中。

add (rpt, lo_table);结束

另请参阅

||||||

相关话题