mlreportgen.report.Report 类
命名空间: mlreportgen.report
报告容器
描述
mlreportgen.report.Report
类的对象是基于报告器和 MATLAB® 以及 DOM 对象的报告容器。使用 mlreportgen.report.Report
对象根据模板库中的模板生成 HTML、PDF 或 Word 报
告。
mlreportgen.report.Report
类是一个 handle
类。
创建对象
描述
返回具有默认属性值的报告容器对象。report
= mlreportgen.report.Report
将 OutputPath 属性设置为 report
= mlreportgen.report.Report(path
)path
。
还将 TemplatePath 属性设置为 report
= mlreportgen.report.Report(path
,type
,template
)template
。
使用名称-值对设置属性。您可以按任意顺序指定多个名称-值对参量。report
= mlreportgen.report.Report(Name=Value
)
属性
OutputPath
— 生成的报告文件的路径
字符向量 | 字符串标量
生成的报告文件的路径,指定为字符向量或字符串标量。该路径是文件系统中存储报告输出文档的位置。该路径可以是完整路径,例如 'C:/myreports/reportA.docx'
。该路径也可以相对于当前 MATLAB 文件夹,例如 'reportA'
。如果文件名没有与 Type
属性相对应的文件扩展名,则会添加适当的文件扩展名。
注意
在云盘(例如 MATLAB Drive™)上生成 PDF 报 告可能会因报告生成软件和云盘同步软件之间的文件争用而导致错误。为了避免此错误,请在未与云同步的本地驱动器上生成报告。考虑编写一个脚本,在本地驱动器上生成报告,然后将报告复制到云端驱动器。
PackageType
— 生成文件的打包
"zipped"
(默认) | "unzipped"
| "both"
| "single-file"
用于生成文件的打包,指定为表中的值之一。
值 | 支持的报告类型 | 描述 |
---|---|---|
|
| 在 |
"unzipped" |
| 将报告作为单独的文件生成在具有 |
"both" |
| 生成压缩和解压缩的输出。 |
"single-file" |
| 将报告生成为单个文件。 |
提示
当 Type
属性为 "html"
或 "html-multipage"
时,若要生成无需解压即可打开的 HTML 报
告,请将 PackageType
设置为 "unzipped"
或 "both"
。在包含生成文件的文件夹中,打开 root.html
文件。
属性:
NonCopyable | true |
数据类型: char
| string
Type
— 输出类型
'pdf'
(默认) | 'html'
| 'html-file'
| 'docx'
输出类型,指定为以下值之一:
'pdf'
- PDF 文件。'html'
- HTML 报告,打包为压缩文件,其中包含报告的 HTML 文件、图像、样式表和 JavaScript® 文件。要将 HTML 报 告生成为包含解压文件的文件夹,请将PackageType
属性设置为'unzipped'
或'both'
。'html-file'
- HTML 报告,由包含报告的文本、样式表、JavaScript 和 base64 编码图像的单个 HTML 文件组成。'docx'
- Microsoft® Word 文档。
如果使用 TemplatePath
属性指定模板,则 Type
的值必须与模板类型匹配。
Layout
— 页面布局选项
mlreportgen.report.ReportLayout
对象
此报告的页面布局选项,指定为 mlreportgen.report.ReportLayout
对象。Layout
属性的初始值是一个具有默认值的 mlreportgen.report.ReportLayout
对象。通过修改属性值来定制页面布局。相关示例,请参阅创建景观报告。
mlreportgen.report.TitlePage
、mlreportgen.report.TableOfContents
和 mlreportgen.report.Chapter
类的对象的 Layout
属性指定的布局选项可以覆盖 mlreportgen.report.Report
对象的 Layout
属性指定的页面布局属性。
注意
Layout
属性仅适用于 PDF 和 Word 报
告。
Locale
— 区域设置或语言
[]
(默认) | 字符向量 | 字符串标量
区域设置或语言,指定为字符向量或字符串标量,由要生成此报告的区域设置的 ISO_639-1 双字母语言代码组成。默认值 []
指定系统区域设置的语言,例如英语系统上的英语。报告 API 使用语言代码将章节标题前缀翻译为指定语言环境的语言。为以下语言环境提供了翻译:'af'
、'ca'
、'cs'
、'da'
、'de'
、'el'
、'en'
、'es'
、'et'
、'eu'
、'fi'
、'fr'
、'hu'
、'id'
、'it'
、'ja'
、'ko'
、'nl'
,'nn'
、'no'
、'pl'
、'pt'
、'ro'
、'ru'
、'sk'
、'sl'
、'sr'
、'sv'
、'tr'
、'uk'
、'xh'
和 'zh'
。如果您指定不受支持的区域设置,则使用英语版本。请参阅https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes。
相关示例,请参阅翻译章节标题前缀。
TemplatePath
— 模板位置
字符向量 | 字符串标量
用于格式化此报告的模板的位置,指定为字符向量或字符串标量。您可以使用此属性为报告指定自定义模板。
Document
— 底层 DOM 文档对象
mlreportgen.dom.Document
用于生成报告内容的底层 DOM 文档对象,指定为 mlreportgen.dom.Document
对象。此属性是只读的。
Context
— 报告上下文
containers.Map
对象
报告上下文,指定为 containers.Map
对象,其中包含生成报告所需的信息,例如当前报告部分的层次结构级别。此属性是只读的。
Debug
— 调试模式
false
或 0
(默认) | true
或 1
调试模式,指定为数字或逻辑 1
(true
) 或 0
(false
)。如果将 Debug
设置为 true
或 1
,则报告的临时文件将存储在报告文件夹的子文件夹中,并且在报告关闭时不会被删除。
方法
公共方法
open | 打开报告 |
append | 添加内容以报告 |
add | (不推荐)添加要报告的内容 |
close | 关闭并生成报告 |
rptview | 在查看器中打开生成的报告文件 |
mlreportgen.report.Report.createTemplate | 创建报告模板 |
mlreportgen.report.Report.customizeReport | 创建从报告类派生的类 |
mlreportgen.report.Report.getClassFolder | 报告类定义文件位置 |
getTempPath | 报告临时目录路径 |
generateFileName | 生成临时报告文件名 |
getReportLayout | 报告的当前页面布局 |
fill | 填补报告模板空位 |
getContext | 获取报告上下文值 |
setContext | 设置报告上下文值 |
ispdf | 检查 PDF 报 告 |
isdocx | 检查 Word 报 告 |
ishtml | 检查多文件 HTML 报 告 |
ishtmlfile | 检查单文件 HTML 报 告 |
示例
创建报告
使用报告 API 创建报告。
导入 DOM 和报告 API 命名空间,这样您就不必使用完全限定的类名。
import mlreportgen.report.* import mlreportgen.dom.*
创建报告容器。
rpt = Report('My Report','pdf');
在报告中添加标题页、目录和章节。本章包含两节,每节包含一张图片。
append(rpt,TitlePage(Title='My Report')); append(rpt,TableOfContents); ch = Chapter('Images'); append(ch,Section(Title='Boeing 747',... Content=Image(which('b747.jpg')))); append(ch,Section(Title='Peppers',... Content=Image(which('peppers.png')))); append(rpt,ch); close(rpt); rptview(rpt);
创建景观报告
使用报告 API 创建具有横向方向的报告。
导入报告 API 命名空间,这样您就不必使用长而完全限定的类名。
import mlreportgen.report.*
创建报告容器。在分配给 Layout
属性的 mlreportgen.report.ReportLayout
对象中,将 Landscape
属性设置为 true
。
rpt = Report('myreport','pdf'); rpt.Layout.Landscape = true;
向报告添加内容。生成并查看报告。
append(rpt,TitlePage(Title='My Landscape Report')); append(rpt,TableOfContents); append(rpt,Chapter(Title='Tests')); append(rpt,Chapter(Title='Unit Tests')); close(rpt); rptview(rpt);
翻译章节标题前缀
通过设置 Locale
属性,在英语系统上将章节标题前缀翻译为日语。
import mlreportgen.report.* rpt = Report('Japanese Report'); rpt.Locale = 'ja'; house = char(23478); % Kanji character for house append(rpt, Chapter(house)); close(rpt); rptview(rpt);
版本历史记录
在 R2017b 中推出R2020b: add
方法不推荐
从 R2020b 开始,使用 append
方法(而不是 add
方法)向这些报告 API 类的对象添加内容:
mlreportgen.report.Report
mlreportgen.report.Chapter
mlreportgen.report.Section
要向 DOM API 对象添加内容(例如 mlreportgen.dom.Paragraph
对象),请继续使用 DOM 对象的 append
方法。使用 append
向报告 API 对象添加内容的优势在于,您使用与向 DOM API 对象添加内容相同的方法名称。
没有计划删除 Report
、Chapter
或 Section
类的 add
方法。使用 add
方法的报告 API 程
序将继续运行。
要更新现有代码,请将方法名称 add
替换为 append
,如表中示例所示。
不推荐 | 推荐 |
---|---|
import mlreportgen.report.* import mlreportgen.dom.* rpt = Report("My Report","pdf"); ch = Chapter("My Chapter"); sect = Section("My Section"); para = Paragraph("My Content "); append(para,"more Content"); add(sect,para); add(ch,sect); add(rpt,ch); close(rpt); rptview(rpt); | import mlreportgen.report.* import mlreportgen.dom.* rpt = Report("My Report","pdf"); ch = Chapter("My Chapter"); sect = Section("My Section"); para = Paragraph("My Content "); append(para,"more Content"); append(sect,para); append(ch,sect); append(rpt,ch); close(rpt); rptview(rpt); |
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)