リンクの作成
次の種類のリンクをレポートに追加できます。
内部 - レポート内の場所へのリンク。
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