主要内容

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

mlreportgen.dom.TemplatePDFStyle 类

命名空间: mlreportgen.dom

解析 PDF 模板中现有的样式

自 R2024a 起

描述

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

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

此类仅与以下 MATLAB® Report Generator™ 输出类型兼容:

  • "pdf"

  • "pdfa" (自 R2025a 起)

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

类属性

HandleCompatible
true

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

创建对象

描述

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

示例

属性

全部展开

Selector 属性的值中解析出的样式名称,以字符向量形式表示。

属性:

GetAccess
public
SetAccess
private
NonCopyable
true

数据类型: char

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

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

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

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

该类忽略此属性。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

标记,指定为字符向量或字符串标量。DOM API 在创建此对象的过程中生成一个会话唯一标记。生成的标记形式为 CLASS:ID,其中 CLASS 是对象类,ID 是对象的 Id 属性的值。使用此值来帮助确定在文档生成过程中出现的问题的位置。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

目标标识符,指定为字符向量或字符串标量。DOM API 在创建文档元素对象时会生成一个会话唯一标识符。

属性:

GetAccess
public
SetAccess
public
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 中推出