Main Content

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

mlreportgen.dom.TemplatePDFStyle 类

命名空间: mlreportgen.dom

解析 PDF 模板中现有的样式

自 R2024a 起

描述

使用此类创建 PDF 模板中现有样式的文档对象模型 (DOM) 表示。此类仅在 PDF 样式表中生成样式表条目。HTML 和 DOCX 模板样式表忽略此类。这个类使您能够看到模板中已经存在哪些样式。

此类表示由 PDF 模板(.pdftx)文件定义的 PDF 样式。打开 PDF 模板会为模板文件定义的每个样式创建一个包含此类实例的数组。您可以使用存储在 Stylesheet 属性中的样式表的 TemplateStyles 属性来访问样式。使用此类可以查看和修改 PDF 样式的 CSS 选择器和格式。您可以使用模板样式表的 removeStylereplaceStyle 方法删除或替换 PDF 样式。

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

类属性

HandleCompatible
true

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

创建对象

描述

示例

style = TemplatePDFStyle(selector,rawFormats) 创建一个 HTML 样式,并将 SelectorRawFormats 属性分别设置为 selector 和 rawFormats 的值。使用此构造函数来定义使用更复杂的 CSS 选择器或没有等效 DOM 类的格式的 PDF 样式。

属性

全部展开

Selector 属性值解析出的样式名称,指定为字符向量或字符串标量。

属性:

SetAccess
private
NonCopyable
true

数据类型: char | string

样式的 CSS 选择器,指定为字符串标量。该值包括类名和元素名称。例如,格式化链接元素的样式 "exampleLink" 会将 Selector 属性设置为 "a.exampleLink"。有关 PDF 样式表支持的有限选择器集的信息:修改 PDF 模板中的样式。如果样式表不支持选择器,软件就会抛出错误。

数据类型: string

样式的 CSS 属 性和值,指定为字符串标量。必须使用分号分隔每个 CSS 属 性和值对。例如,格式化颜色和字体粗细的样式的 Selector 属性为:"color:blue; font-weight:bold;"

属性:

NonCopyable
true

数据类型: string

该类忽略此属性。

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

属性:

NonCopyable
true

数据类型: char | string

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

属性:

NonCopyable
true

数据类型: char | string

示例

全部折叠

查看 PDF 模板中现有的样式、修改该样式以及用修改后的样式替换现有样式。

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

基于默认 PDF 模板创建一个新模板,并检查样式。

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

import mlreportgen.dom.*

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

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

打开模板并获取样式表。

open(t);
stylesheet = t.Stylesheet
stylesheet = 
  TemplateStylesheet with properties:

     TemplateStyles: [1×34 mlreportgen.dom.TemplatePDFStyle]
         TextStyles: []
    ParagraphStyles: []
       LinkedStyles: []
         ListStyles: []
        TableStyles: []
                Tag: 'dom.TemplateStylesheet:1901'
                 Id: '1901'

修改目录字体

通过更改目录样式来修改新模板,以便它们使用 Courier New 字体。

此模式匹配以 "font-family:" 开头并以分号结尾的规则。

pat = "font-family:" + wildcardPattern("Except",";") + ";";

循环所有模板样式并将匹配的样式更改为 Courier New 字体。

for style = stylesheet.TemplateStyles
    if startsWith(style.Name,"TOC")
        style.RawFormats = replace(style.RawFormats,pat,"font-family:""Courier New"";");
    end
end

创建一个新样式,将标题段落中的链接文本设置为粗体。

newPDFStyle = TemplatePDFStyle("p.Title a","font-weight:bold;");
addStyle(stylesheet,newPDFStyle);

关闭模板。

close(t);

版本历史记录

在 R2024a 中推出