Main Content

リンクの作成

次の種類のリンクをレポートに追加できます。

  • 内部 - レポート内の場所へのリンク。mlreportgen.dom.InternalLink オブジェクトを使用します。

  • 外部 - レポートの外部の場所 (HTML ページや PDF ファイルなど) へのリンク。mlreportgen.dom.ExternalLink オブジェクトを使用します。

内部リンクの作成

ドキュメント内のある場所から同じドキュメント内の他の箇所へのリンクを作成するには、次のようにします。

  1. mlreportgen.dom.LinkTarget オブジェクトをドキュメントまたはドキュメント要素に追加してリンク ターゲットを定義します。LinkTarget オブジェクトの作成に使用するリンク ターゲット名をすべてのレポート タイプで有効なものとするために、mlreportgen.utils.normalizeLinkID を使用してリンク ターゲット名を生成します。

  2. 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 メソッドを使用します。TextImage または 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 を参照してください。

参考

| | | |

関連する例

詳細