リンクの作成
次の種類のリンクをレポートに追加できます。
内部 - レポート内の場所へのリンク。
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> は 1 つの引数 (<pageref target="nameoftarget">) を使用します。
このメカニズムの詳細については、mlreportgen.dom.PageRef を参照してください。
参考
mlreportgen.dom.ExternalLink | mlreportgen.dom.InternalLink | mlreportgen.dom.LinkTarget | mlreportgen.dom.PageRef | append