主要内容

本页采用了机器翻译。点击此处可查看英文原文。

自定义章节

您可以自定义报告 API 章节报告器 mlreportgen.report.Chapter 生成的章节的内容和格式。您可以通过设置属性来执行一些自定义。例如,您可以使用章节报告器 Layout 属性将章节布局从纵向更改为横向。有关可通过设置属性进行章节自定义的详细信息,请参阅 mlreportgen.report.Chapter

对于其他自定义,您必须修改章节报告器模板、类定义文件或模板和类定义文件。要仅自定义静态内容(例如页眉中的徽标),请修改章节报告器默认模板,并将修改后的模板与报告器一起使用。要自定义动态内容或动态和静态内容,请创建自定义章节报告器并修改其模板和类定义文件。

有关使用固定和动态内容自定义章节页眉的示例,请参阅 自定义章节页眉

自定义静态内容

如果您的章节自定义仅包含静态内容,请创建章节模板的副本,编辑该副本,然后在生成报告时使用新模板。

创建模板

为您计划生成的报告类型创建章节模板的副本。例如,要将 PDF 章节的模板复制到文件夹 mychapter.pdftx 中的文件 mytemplates,请输入:

mlreportgen.report.Chapter.createTemplate("mytemplates/mychapter","pdf");

编辑模板

编辑章节模板的方式取决于您生成的报告类型:

使用模板

在您的报告生成程序中:

  1. 定义一个章节报告器。

  2. 将报告器的 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.html

  • root.html

  • 图像和样式表的文件夹

编辑标记

在文本编辑器中打开 docpart_templates.html 并编辑标记。

要为动态内容定义一个空位,请使用 hole 元素。当您在自定义章节报告器中为空位添加属性时,属性名称必须与空位 id 值相匹配。

通过编辑 dptemplate 元素中名为 Section1 的页眉或页脚模板来修改页眉或页脚。页眉和页脚的模板是 SectionFirstPageHeaderSectionFirstPageFooterSectionDefaultPageHeaderSectionDefaultPageFooterSectionEvenPageHeaderSectionEvenPageFooter

要为所有章节页面指定相同的页眉或页脚,请仅提供页眉和页脚模板列表中的 SectionDefaultPageHeaderSectionDefaultPageFooter。从列表中删除其他页眉和页脚。

注意

使用现有的 dptemplate 元素。请勿创建自己的 dptemplate 元素或更改 Name 元素的 dptemplate 属性的值。

打包模板文件

使用 zipTemplate 函数将文件重新打包到模板文件中。例如,如果 mytemplates/mychapter 包含解压后的文件,则此代码将文件打包到 mychapter.pdftx 文件夹中的 mytemplates 中。

zipTemplate("mytemplates/mychapter.pdftx","mytemplates/mychapter");

编辑 Word 模板

要编辑 Word 模板:

  1. 在 Word 中打开模板文件。

  2. 在模板文档中创建 Section1 模板的临时副本。用于章节和顶级章节的 Section1 模板位于模板文档的快速部件库中。

  3. 编辑临时副本并将副本保存到快速部件画廊。

  4. 从模板文档中删除临时副本并保存模板文件。

找到模板文件

如果您的模板文件是使用 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 模板复制到模板文档中

  1. 将光标定位在模板文档中的段落前面。

  2. 插入选项卡上的文本组中,点击快速部件,然后点击 Section1 构建模块。

    Quick Parts section of template document with Section1 building block selected

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

  3. 向上滚动到 Section1 首页模板。

    Top of the Section1 first page temple with TITLE1 and Content displaying before a Section Break (Next Page) element

  4. 编辑模板以包含您想要生成的内容。要向 Word 模板添加空位,请参阅 在 Microsoft Word 模板中添加空位

    要修改页眉和页脚,请参阅 在 Word 模板中编辑页眉和页脚的技巧

注意

使用快速部件库中的现有模板。不要创建自己的模板或更改现有模板的名称。

将模板保存在快捷部件库中

  1. 如果页眉或页脚已打开,请双击页眉外的页面将其关闭。

  2. Ctrl+A 选择模板中的所有内容。

  3. 插入选项卡上,点击快速部件,然后点击保存所选内容到快速部件库

  4. 创建新的构建块对话框的名称字段中,输入 Section1。将设置为 快速部件,将类别设置为 mlreportgen,将保存位置设置为模板文件的名称。

    Create New Building Block dialog box with Name set to Section1, Gallery set to Quick Parts, Category set to mlreportgen, Save in set to default, and Options set to Insert content only

保存模板文件

最佳做法是在保存模板文件之前删除模板文档正文中的内容。

在 Word 模板中编辑页眉和页脚的技巧

以下是在 Word 模板中编辑页眉和页脚的一些技巧。

  • 要控制第一页的页眉和页脚是否与后续页面的页眉和页脚不同,请双击页眉。然后,在页眉和页脚工具下的设计选项卡上,选中或清除首页不同复选框。

    Header & Footer Tools tab with Different First page box unselected

  • 要控制偶数页的页眉和页脚是否与奇数页的页眉和页脚不同,请选中或清除奇偶页不同复选框。

  • 要查看第一页之后的页面的页眉和页脚,请向第一页添加空段落,直到创建第二个 Section1 页面。双击新页面上的页眉。

  • 默认的第一页页眉包含一条水平线,即小段落的底部边缘。要使规则不可见,请选择小段落。然后,在主页选项卡上的段落组中,边框 > 无边框

    Home tab with No Border selected in the Paragraph group

另请参阅

| |

主题