这个示例演示了如何将图形快照集中在横向页面上的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);结束
mlreportgen.report.report.
|mlreportgen.dom.PDFPageLayout
|mlreportgen.dom.DOCXPageLayout
|getReportLayout
|mlreportgen.utils.units
|mlreportgen.report.Figure
|mlreportgen.dom.dable.