在一个PDF报告中心正式的形象
这个例子展示了如何中心正式的形象,这是一个图像标题,景观页面上的PDF报告。
这个例子创建了一个API PDF报告,景观布局和使用centerFormalImage
本地函数添加正式的图片在页面的中心。
创建报告
进口DOM API包和报告,所以你不需要使用长,完全限定类名。
进口mlreportgen.dom。*进口mlreportgen.report。*
创建一个PDF报告。
rpt =报告(“myreport”,“pdf”);打开(rpt);
更新报告页面布局
创建一个页面布局对象。
pageLayoutObj = PDFPageLayout;
指定页面方向、高度和宽度。
pageLayoutObj.PageSize。取向=“景观”;pageLayoutObj.PageSize。身高=“8.5”;pageLayoutObj.PageSize。宽度=“11”;
指定页面的利润率。
pageLayoutObj.PageMargins。顶级=“0.5”;pageLayoutObj.PageMargins。底=“0.5”;pageLayoutObj.PageMargins。离开了=“0.5”;pageLayoutObj.PageMargins。正确的=“0.5”;pageLayoutObj.PageMargins。头=“0.3”;pageLayoutObj.PageMargins。页脚=“0.3”;
页面布局对象添加到报告。
add (rpt, pageLayoutObj);
正式创建和添加图片
创建正式的图片和调用centerFormalImage
本地函数来添加这些正式的图片在页面的中心。
formalImg1 = FormalImage (…“图像”,(“ngc6543a.jpg”),…“标题”,“猫眼星云NGC 6543”);centerFormalImage (formalImg1 rpt);formalImg2 = FormalImage (…“图像”,(“peppers.png”),…“标题”,“辣椒”);centerFormalImage (formalImg2 rpt);
生成报告
关闭并查看报告。
关闭(rpt);rptview (rpt);
的centerFormalImage
本地函数
这个函数添加指定的正式的图像在页面的中心指定的PDF报告。函数使用一个看不见的DOM表
的布局。
函数centerFormalImage (formalImage rpt)
进口DOM API, API,报告和报告生成器实用程序包,所以你不需要使用长,完全限定类名。
进口mlreportgen.dom。*进口mlreportgen.report。*进口mlreportgen.utils。*
确定当前页面大小和页面,获取当前报告的页面布局。页面布局信息用于尺寸表是在随后的步骤中创建的。
pageLayout = getReportLayout (rpt);页大小= pageLayout.PageSize;pageMargins = pageLayout.PageMargins;
身体宽度计算页面。页面体宽度表示可用的页面宽度的内容。PDF报告,身体的页面宽度是由减去左边和右边距大小的页面宽度。
bodyWidth = units.toInches (pageSize.Width)…units.toInches (pageMargins.Left)…units.toInches (pageMargins.Right);bodyWidth = sprintf (“% 0.2鳍”,bodyWidth);
身体高度计算页面。页面主体高度表示页面高度可用的内容。一个PDF报告,页面的身体高度是由减去顶边,底部边距、页眉和页脚大小从页面高度。
bodyHeight = units.toInches (pageSize.Height)…units.toInches (pageMargins.Top)…units.toInches (pageMargins.Bottom)…units.toInches (pageMargins.Header)…units.toInches (pageMargins.Footer);bodyHeight = sprintf (“% 0.2鳍”,bodyHeight);
使用getImageReporter
的方法FormalImage
记者和记者的形象getCaptionReporter
方法来获取标题的记者。
imageReporter = getImageReporter (formalImage rpt);captionReporter = getCaptionReporter (formalImage);
使用getImpl
图像的方法和说明记者获得相应的DOM实现。
imageImpl = getImpl (imageReporter rpt);captionImpl = getImpl (captionReporter rpt);
DOM实现包含DOM段
包含图片和标题内容。更新款的风格,以确保周围没有空白的段落和集中在后续步骤中创建的表条目。
paraStyle = {…OuterMargin (“0”,“0”,“0”,“0”),…HAlign (“中心”)…};imagePara =克隆(imageImpl.Children (1));imagePara。= [imagePara风格。风格,paraStyle];captionPara =克隆(captionImpl.Children (1));captionPara。= [captionPara风格。风格,paraStyle];
创建一个1×1无形的布局表(lo_table
)。一个表时被认为是无形的边界并不表定义及其表条目。
lo_table =表(1);行= append (lo_table TableRow);输入= append(行,TableEntry);
添加包含图片和标题的段落内容唯一看不见的布局表中的表条目。
追加(条目,imagePara);追加(条目,captionPara);
跨表可用页面体宽度。
lo_table。宽度=bodyWidth;
跨度唯一可用的表条目页面身体高度。指定的垂直和水平对齐格式,以确保图像和字幕是垂直和水平地集中在表条目。
lo_table。表EntriesStyle = [lo_table.TableEntriesStyle…{…高度(bodyHeight),…HAlign (“中心”),…VAlign (“中间”)…});
布局表添加到报告。
add (rpt, lo_table);结束
另请参阅
mlreportgen.report.Report
|mlreportgen.dom.PDFPageLayout
|getReportLayout
|mlreportgen.utils.units
|mlreportgen.report.FormalImage
|mlreportgen.dom.Table