自定义章节
您可以自定义报告 API 章节报告器 mlreportgen.report.Chapter 生成的章节的内容和格式。您可以通过设置属性来执行一些自定义。例如,您可以使用章节报告器 Layout 属性将章节布局从纵向更改为横向。有关可通过设置属性进行章节自定义的详细信息,请参阅 mlreportgen.report.Chapter。
对于其他自定义,您必须修改章节报告器模板、类定义文件或模板和类定义文件。要仅自定义静态内容(例如页眉中的徽标),请修改章节报告器默认模板,并将修改后的模板与报告器一起使用。要自定义动态内容或动态和静态内容,请创建自定义章节报告器并修改其模板和类定义文件。
有关使用固定和动态内容自定义章节页眉的示例,请参阅 自定义章节页眉。
自定义静态内容
如果您的章节自定义仅包含静态内容,请创建章节模板的副本,编辑该副本,然后在生成报告时使用新模板。
创建模板
为您计划生成的报告类型创建章节模板的副本。例如,要将 PDF 章节的模板复制到文件夹 mychapter.pdftx 中的文件 mytemplates,请输入:
mlreportgen.report.Chapter.createTemplate("mytemplates/mychapter","pdf");
编辑模板
编辑章节模板的方式取决于您生成的报告类型:
使用模板
在您的报告生成程序中:
定义一个章节报告器。
将报告器的
TemplateSrc属性设置为自定义模板的路径。
例如:
chapter = mlreportgen.report.Chapter;
chapter.TemplateSrc = "mytemplates/mychapter.mychapter.pdftx";自定义动态内容
如果您的章节自定义包括动态内容,则必须创建一个骨架自定义报告器类,以便您可以定义动态内容的属性。当您创建骨架自定义章节报告器时,所有报告类型(PDF、Word 和 HTML)的章节模板都将复制到 resources/templates 文件夹中。编辑章节模板以包含您想要生成的内容。为动态内容添加空位。生成报告时,使用自定义章节报告器并为与空位相对应的属性分配值。
创建自定义报告器类的骨架
使用 mlreportgen.report.Chapter.customizeReporter 方法:
创建一个骨架报告器类。
将每种报告类型的默认模板复制到
resources/templates文件夹。
例如,此代码创建一个名为 Chapter 的类,并将模板复制到文件夹 resources/templates 中的 +myCompany/@Chapter 文件夹中:
mlreportgen.report.Chapter.customizeReporter("+myCompany/@Chapter")编辑模板
编辑章节模板的方式取决于您生成的报告类型:
定义动态内容的属性
在自定义报告器类中,为添加到模板的每个空位定义一个属性。例如:
classdef myChapter < mlreportgen.report.Chapter properties Project = "" Date = "" end ... end
属性名称必须与 PDF 模板中的空位 ID 或 Word 模板中的空位标题匹配。
使用自定义报告器类
在您的报告生成程序中:
从自定义章节报告器类创建章节报告器。
为与模板中的空位相对应的报告器属性分配值。
例如:
chapter = myCompany.Chapter();
chapter.Project = "ABC Project";
chapter.Date = date;编辑 PDF 模板
PDF 章节模板文件是一个 ZIP 文件。要修改模板,请解压模板文件,在文本编辑器中编辑 docpart_templates.html,然后将提取的文件重新打包回 ZIP 文件中。请参阅章模板。
找到模板文件
如果您的模板文件是使用 mlreportgen.report.Chapter.createTemplate 创建的,则打包的模板文件位于您指定的位置。例如,此代码在 mychapter.pdftx 文件夹中创建模板文件 mytemplates:
mlreportgen.report.Chapter.createTemplate("mytemplates/mychapter","pdf");
如果您的模板文件是使用 mlreportgen.report.Chapter.customizeReporter 创建的,则模板文件的名称为 default.pdftx,并且位于包含章节报告器类定义文件的文件夹的 resources/templates/pdf 子文件夹中。
解压模板文件
使用 unzipTemplate 函数解压包文件。例如,此代码将模板文件 mytemplates/mychapter.pdftx 中的文件提取到文件夹 mychapter 中:
unzipTemplate("mytemplates/mychapter.pdftx","mychapter");
提取的文件包括:
docpart_templates.htmlroot.html图像和样式表的文件夹
编辑标记
在文本编辑器中打开 docpart_templates.html 并编辑标记。
要为动态内容定义一个空位,请使用 hole 元素。当您在自定义章节报告器中为空位添加属性时,属性名称必须与空位 id 值相匹配。
通过编辑 dptemplate 元素中名为 Section1 的页眉或页脚模板来修改页眉或页脚。页眉和页脚的模板是 SectionFirstPageHeader、SectionFirstPageFooter、SectionDefaultPageHeader、SectionDefaultPageFooter、SectionEvenPageHeader 和 SectionEvenPageFooter。
要为所有章节页面指定相同的页眉或页脚,请仅提供页眉和页脚模板列表中的 SectionDefaultPageHeader 或 SectionDefaultPageFooter。从列表中删除其他页眉和页脚。
注意
使用现有的 dptemplate 元素。请勿创建自己的 dptemplate 元素或更改 Name 元素的 dptemplate 属性的值。
打包模板文件
使用 zipTemplate 函数将文件重新打包到模板文件中。例如,如果 mytemplates/mychapter 包含解压后的文件,则此代码将文件打包到 mychapter.pdftx 文件夹中的 mytemplates 中。
zipTemplate("mytemplates/mychapter.pdftx","mytemplates/mychapter");
编辑 Word 模板
要编辑 Word 模板:
在 Word 中打开模板文件。
在模板文档中创建 Section1 模板的临时副本。用于章节和顶级章节的 Section1 模板位于模板文档的快速部件库中。
编辑临时副本并将副本保存到快速部件画廊。
从模板文档中删除临时副本并保存模板文件。
找到模板文件
如果您的模板文件是使用 mlreportgen.report.Chapter.createTemplate 创建的,则模板文件位于您指定的位置。例如,此代码在 mychapter.dotx 文件夹中创建模板文件 mytemplates:
mlreportgen.report.Chapter.createTemplate("mytemplates/mychapter","docx");
如果您的模板文件是使用 mlreportgen.report.Chapter.customizeReporter 创建的,则模板文件的名称为 default.dotx,并且位于包含章节报告器类定义文件的文件夹的 resources/templates/docx 子文件夹中。
在 Word 中打开模板文件
使用以下方法之一打开模板文件:
在 MATLAB® 的
Current Folder窗格中,右键点击模板文件,然后点击在 MATLAB 外部打开。在 MATLAB 之外,右键点击模板文件,然后点击打开。
注意
不要双击 Word 模板文件来打开它。双击该文件将打开使用该模板的 Word 文档文件。
模板文档打开后会显示一个空白页。
显示格式符号
为了使段落和格式符号可见,请在主页选项卡上点击显示/隐藏
按钮。
将 Section1 模板复制到模板文档中
将光标定位在模板文档中的段落前面。
在插入选项卡上的文本组中,点击快速部件,然后点击 Section1 构建模块。

Word 插入 Section1 模板的副本和虚拟
Section2部分。生成报告时,虚拟部分将被忽略。光标位于虚拟部分的主体中。向上滚动到 Section1 首页模板。

编辑模板以包含您想要生成的内容。要向 Word 模板添加空位,请参阅 在 Microsoft Word 模板中添加空位。
要修改页眉和页脚,请参阅 在 Word 模板中编辑页眉和页脚的技巧。
注意
使用快速部件库中的现有模板。不要创建自己的模板或更改现有模板的名称。
将模板保存在快捷部件库中
如果页眉或页脚已打开,请双击页眉外的页面将其关闭。
按 Ctrl+A 选择模板中的所有内容。
在插入选项卡上,点击快速部件,然后点击保存所选内容到快速部件库。
在创建新的构建块对话框的名称字段中,输入 Section1。将库设置为 快速部件,将类别设置为
mlreportgen,将保存位置设置为模板文件的名称。
保存模板文件
最佳做法是在保存模板文件之前删除模板文档正文中的内容。
在 Word 模板中编辑页眉和页脚的技巧
以下是在 Word 模板中编辑页眉和页脚的一些技巧。
要控制第一页的页眉和页脚是否与后续页面的页眉和页脚不同,请双击页眉。然后,在页眉和页脚工具下的设计选项卡上,选中或清除首页不同复选框。

要控制偶数页的页眉和页脚是否与奇数页的页眉和页脚不同,请选中或清除奇偶页不同复选框。
要查看第一页之后的页面的页眉和页脚,请向第一页添加空段落,直到创建第二个 Section1 页面。双击新页面上的页眉。
默认的第一页页眉包含一条水平线,即小段落的底部边缘。要使规则不可见,请选择小段落。然后,在主页选项卡上的段落组中,边框 > 无边框。

另请参阅
mlreportgen.report.Chapter | unzipTemplate | zipTemplate