创建链接
您可以向报告添加以下类型的链接:
内部 - 链接到报告中的位置。使用
mlreportgen.dom.InternalLink
对象。外部 - 链接到报告外部的位置,例如 HTML 页面或 PDF 文件。使用
mlreportgen.dom.ExternalLink
对象。
创建内部链接
要从文档中的一个位置链接到同一文档中的另一个位置:
通过将
mlreportgen.dom.LinkTarget
对象追加到文档或文档元素来定义链接目标。为了确保用于创建LinkTarget
对象的链接目标名称对所有报告类型都有效,请使用mlreportgen.utils.normalizeLinkID
生成链接目标名称。通过将
mlreportgen.dom.InternalLink
对象追加到文档或文档元素来定义链接。当您创建InternalLink
对象时,对于targetName
参量,使用来自LinkTarget
对象的链接目标名称。
例如,您可以包含一个指向标题为 Author's Biography
的标题的 About the Author
链接。
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