创建链接
您可以向报告添加以下类型的链接:
内部 - 链接到报告中的位置。使用
mlreportgen.dom.InternalLink
对象。外部 - 链接到报告外部的位置,例如 HTML 页面或 PDF 文件。使用
mlreportgen.dom.ExternalLink
对象。
创建内部链接
要从文档中的一个位置链接到同一文档中的另一个位置:
通过将
mlreportgen.dom.LinkTarget
对象追加到文档或文档元素来定义链接目标。为了确保用于创建LinkTarget
对象的链接目标名称对所有报告类型都有效,请使用mlreportgen.utils.normalizeLinkID
生成链接目标名称。通过将
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");
向链接添加文本或图像
要向 ExternalLink
或 InternalLink
对象添加文本或图像,请对该对象使用 append
方法。追加 Text
、Image
或 CustomElement
对象。
创建页面引用
您可以创建指向链接目标所在页面的数字引用。例如,您可以创建“请参阅第 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
。
另请参阅
mlreportgen.dom.ExternalLink
| mlreportgen.dom.InternalLink
| mlreportgen.dom.LinkTarget
| mlreportgen.dom.PageRef
| append