Main Content

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

mlreportgen.dom.XRef 类

命名空间: mlreportgen.dom

DOCX 或 PDF 报 告的交叉引用元素

自 R2022a 起

描述

使用 mlreportgen.dom.XRef 类的对象交叉引用 DOCX 或 PDF 报 告中的目标。

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

类属性

HandleCompatible
true

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

创建对象

描述

xRefObj = mlreportgen.dom.XRef 创建一个具有空的 Target 属性的 mlreportgen.dom.XRef 对象。在将 XRef 对象添加到报告之前,请先设置 Target 属性。

xRefObj = mlreportgen.dom.XRef(target) 创建一个具有链接 ID targetXRef 对象。

示例

属性

全部展开

要交叉引用的目标对象的链接 ID,指定为字符向量或字符串标量。将 Target 属性设置为您想要交叉引用的 mlreportgen.dom.LinkTarget 对象的链接 ID。

注意

使用 mlreportgen.utils.normalizeLinkID 函数生成符合 PDF 和 Microsoft® Word 文档限制的有效链接目标 ID。

属性:

NonCopyable
true

数据类型: char | string

用于呈现交叉引用的样式的名称,指定为字符向量或字符串标量。必须在与包含交叉引用的文档相关联的模板的样式表中定义该样式。要了解有关使用样式表的更多信息,请参阅 使用样式表样式

属性:

GetAccess
public
SetAccess
public

数据类型: char | string

格式对象,指定为 mlreportgen.dom 格式对象的元胞数组。添加一个或多个格式对象来自定义交叉引用的外观。

属性:

NonCopyable
true

追加交叉引用对象的对象,指定为 mlreportgen.dom.Paragraph 对象。

注意

您只能将 XRef 对象追加到 mlreportgen.dom.Paragraph 类的对象。

追加到 XRef 对象的对象,指定为 mlreportgen.dom.CustomElement 数组。

注意

您只能将 mlreportgen.dom.CustomElement 类的对象追加到 XRef 对象。

此文档元素的自定义属性,指定为 mlreportgen.dom.CustomAttribute 对象的数组。自定义属性必须被此对象所追加到的文档元素的输出格式支持。

属性:

NonCopyable
true

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

属性:

NonCopyable
true

数据类型: char | string

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

属性:

NonCopyable
true

数据类型: char | string

方法

全部展开

示例

全部折叠

此示例显示如何在生成的 PDF 报 告中使用交叉引用元素。

导入这些包,这样您就不必使用长而完全限定的类名。

import mlreportgen.dom.*
import mlreportgen.report.*

创建 PDF 类型的 mlreportgen.report.Report 对象。

rpt = Report("Cross-ref_in_PDF_example","pdf");

为介绍章节创建一个 mlreportgen.report.Chapter 对象,为介绍章节的内容创建一个 mlreportgen.dom.Paragraph 对象。

chapter1 = Chapter("Introduction");
para = Paragraph();
para.WhiteSpace = "preserve";

使用函数 normalizeLinkID 生成一个有效的唯一链接 ID,然后使用该链接 ID 创 建一个 mlreportgen.dom.LinkTarget 对象。

linkID = mlreportgen.utils.normalizeLinkID("myLinkID");
linkTarget = LinkTarget(linkID);

创建两个参考对象,mlreportgen.dom.XRefmlreportgen.dom.PageRef,使用与创建 LinkTarget 对象相同的链接 ID。必须对全部三个对象使用相同的链接 ID,才能将参考对象链接到链接目标对象。

xRefObj = XRef(linkID);
pageRefObj = PageRef(linkID);

通过向 Style 属 性添加 mlreportgen.dom.Italic 对象来自定义交叉引用对象的外观。

xRefObj.Style{end+1} = Italic;

LinkTarget 对象的 IsXRefTarget 属性设置为 true。这仅在 PDF 报 告中才是必要的。

linkTarget.IsXRefTarget = true;

用包含交叉引用和页面引用对象的内容填充段落。

append(para,"For more information see ");
append(para,xRefObj);
append(para," on page ");
append(para,pageRefObj);
append(para," for more information.");

将段落对象追加到章节对象,然后将章节对象追加到报告中。

append(chapter1,para)
append(rpt,chapter1);

为信息章节创建另一个 Chapter 对象。

chapter2 = Chapter();

将文本 "Information" 追加到链接目标对象,并将章节对象的标题设置为链接目标对象。

linkTarget.append("Information");
chapter2.Title = linkTarget;

将第二章对象追加到报告中。然后关闭并查看报告。

append(rpt,chapter2);
close(rpt);
rptview(rpt);

报告打开后,测试交叉引用和页面引用元素。

版本历史记录

在 R2022a 中推出