Main Content

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

mlreportgen.dom.TemplateStylesheet 类

命名空间: mlreportgen.dom

模板样式表的 MATLAB 表示

自 R2024a 起

描述

mlreportgen.dom.TemplateStylesheet 类包含 mlreportgen.dom.Template 对象的样式。打开时,mlreportgen.dom.Template 在其 Stylesheet 属性中创建 mlreportgen.dom.TemplateStylesheet 的实例。创建基于源模板文档的 mlreportgen.dom.Template 对象会自动使用源模板中已有的样式填充其 Stylesheet 属性。使用此类的方法来添加、删除或替换样式。父 mlreportgen.dom.Template 对象在结果模板文档中生成 TemplateStylesheet 对象中的所有样式。

注意

DOM 格式类(例如 mlreportgen.dom.Boldmlreportgen.dom.Color)定义新样式的格式。DOM 模板样式类不支持以下格式类:

  • ListStyleType

  • NumberFormat

  • OutlineLevel

  • ScaleToFit

DOCX 模板输出的 DOM 模板样式类不支持这些 DOM 格式类:

  • CounterInc

  • CounterReset

  • FlowDirection(仅支持 TemplateParagraphStyle

  • Height

  • ResizeToFitContents

  • RowHeight

  • TextOrientation

  • Width

  • WhiteSpace

mlreportgen.dom.TemplateStylesheet 类是一个 handle 类。

类属性

HandleCompatible
true

有关类属性的信息,请参阅类属性

属性

全部展开

样式表中定义的文本样式,指定为 DOM mlreportgen.dom.TemplateTextStyle 对象的数组。要添加或删除样式,请使用 addStyleremoveStylereplaceStyle 方法。

属性:

SetAccess
protected

样式表中定义的段落样式,指定为 DOM mlreportgen.dom.TemplateParagraphStyle 对象的数组。要添加或删除样式,请使用 addStyleremoveStylereplaceStyle 方法。

属性:

SetAccess
protected

链接样式,可应用于文本和段落文档元素对象的样式,在样式表中定义,指定为 DOM TemplateLinkedStyle 对象的数组。要添加或删除样式,请使用 addStyleremoveStylereplaceStyle 方法。

属性:

SetAccess
protected

源模板中定义的现有样式,指定为 mlreportgen.dom.TemplateDOCXStylemlreportgen.dom.TemplateHTMLStylemlreportgen.dom.TemplatePDFStyle 对象的数组。要添加或删除样式,请使用 addStyleremoveStylereplaceStyle 方法。

属性:

SetAccess
protected

mlreportgen.dom.TemplateStylesheet 对象的标签,指定为字符向量或字符串标量。DOM API 在创建此对象的过程中生成一个会话唯一标签。生成的标签形式为 CLASS:ID,其中 CLASS 是对象类,ID 是对象的 Id 属性的值。指定您自己的标签值,以帮助您确定在文档生成过程中出现问题时要查找的位置。

属性:

NonCopyable
true

数据类型: char | string

mlreportgen.dom.TemplateStylesheet 对象的对象标识符,指定为字符向量或字符串标量。DOM API 在创建文档元素对象时会生成一个会话唯一标识符。您可以为 Id 指定自己的值。

属性:

NonCopyable
true

数据类型: char | string

方法

全部展开

示例

全部折叠

将样式表内容添加到新模板。

导入 DOM API 命名空间,这样您就不必包含完全限定名称。

import mlreportgen.dom.*

创建 DOCX 模板。

t = Template("bookReportTemplate","docx");
open(t);

创建文本样式。

textStyle = TemplateTextStyle("exampleTextStyle");

格式化文本样式。

textStyle.Formats = [Bold(true),Color("red")];

将文本样式添加到样式表。

stylesheet = t.Stylesheet;
addStyle(stylesheet,textStyle);

close(t);

查看 DOCX 模板中的现有样式,修改该样式并创建新样式,并用修改后的样式替换现有样式。

创建 DOCX 模板并检查默认样式

导入 DOM API 命名空间,这样您就不必使用完全限定名称。

import mlreportgen.dom.*

使用默认 DOCX 模板创建模板。

t = Template("myTemplate","docx");

打开模板并检查 "rgMATLABTABLE" 样式是否存在。

open(t);
stylesheet = t.Stylesheet;
tableStyle = getStyle(stylesheet,"rgMATLABTABLE")
tableStyle = 
  TemplateDOCXStyle with properties:

       Name: 'rgMATLABTABLE'
       Type: 'table'
    Formats: []
        Tag: 'dom.TemplateDOCXStyle:1738'
         Id: '1738'

在 Microsoft® Word 中打开源模板。

rptview(t.TemplatePath);

在 Word 中打开源模板。在 Word 中,检查源 DOCX 模板中的 "Title" 样式。

创建修改样式并替换默认样式

创建一个名为 "rgMATLABTABLE" 的新表格样式。

newTableStyle = TemplateTableStyle("rgMATLABTABLE");

通过使用相同的字体、行距以及孤行处理来定义与源模板样式类似的格式。

oldFormats = [LineSpacing(1),FontFamily("Calibri"),WidowOrphanControl];

表格后留出 15 点的空间。

om = OuterMargin;
om.Bottom = "15pt";
oldFormats(end + 1) = om;

定义一种为表格提供实线边框的格式。

newFormat = Border("solid","blue");

设置新样式的格式。

newTableStyle.Formats = [oldFormats,newFormat];

用新样式替换旧样式。

replaceStyle(stylesheet,newTableStyle);

关闭模板。

close(t);
rptview(t);

版本历史记录

在 R2024a 中推出