主要内容

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

创建链接

您可以向报告添加以下类型的链接:

创建内部链接

要从文档中的一个位置链接到同一文档中的另一个位置:

  1. 通过将 mlreportgen.dom.LinkTarget 对象追加到文档或文档元素来定义链接目标。为了确保用于创建 LinkTarget 对象的链接目标名称对所有报告类型都有效,请使用 mlreportgen.utils.normalizeLinkID 生成链接目标名称。

  2. 通过将 mlreportgen.dom.InternalLink 对象追加到文档或文档元素来定义链接。当您创建 InternalLink 对象时,对于 targetName 参量,使用来自 LinkTarget 对象的链接目标名称。

例如,您可以包含一个指向标题为 About the Author 的标题的 Author's Biography 链接。

import mlreportgen.dom.*
import mlreportgen.utils.*
d = Document("mydoc","pdf");

% Append a link target to a heading
h = Heading(1,"Author's Biography");
h.Style = {PageBreakBefore(true)};
linkID = normalizeLinkID("bio");
append(h,LinkTarget(linkID));

% Link to the target
append(d,InternalLink(linkID,"About the Author"));

% Append the heading 
append(d,h);

close(d);
rptview(d);

创建外部链接

使用 mlreportgen.dom.ExternalLink 对象创建外部链接,指定链接目标和链接文本。

import mlreportgen.dom.*
d = Document("mydoc");

append(d,ExternalLink("https://www.mathworks.com/","MathWorks"));

close(d);
rptview("mydoc","html");

向链接添加文本或图像

要向 ExternalLinkInternalLink 对象添加文本或图像,请对该对象使用 append 方法。追加 TextImageCustomElement 对象。

创建页面引用

您可以创建指向链接目标所在页面的数字引用。例如,您可以创建“请参阅第 15 页”形式的页面引用,其中引用的目标是第 15 页上的对象。例如:

import mlreportgen.dom.*;
d = Document("mydoc","pdf");
open(d);

% Add target to heading object and append heading and 
% para text to document
h = Heading1(LinkTarget("mytarget"));
append(h,"Referenced Head");
p = Paragraph("Here is some paragraph text.");
append(d,h);
append(d,p);

% Add another page and insert the page reference 
% to the target
p1 = Paragraph("The following paragraph contains the page reference.");
p1.Style = {PageBreakBefore(true)};
p2 = Paragraph("See Page ");
p2.WhiteSpace = "preserve";
ref = PageRef("mytarget");
append(p2,ref);
append(p2,".");
append(d,p1);
append(d,p2);

close(d);
rptview(d.OutputPath);

在您的 PDF 模板中,您可以使用 <pageref> 元素来创建这种引用。您的 DOM API 程序必须设置元素使用的链接目标。<pageref> 使用一个参量:<pageref target="nameoftarget">

有关此机制的更多信息,请参阅 mlreportgen.dom.PageRef

另请参阅

| | | |

主题