К отчету можно добавить следующие виды ссылок:
Внутренний - ссылка на расположения в отчете. Использовать mlreportgen.dom.InternalLink объект.
Внешний (External) - ссылка на расположение вне отчета, например 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 метод с этим объектом. Добавить a 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.
append | mlreportgen.dom.ExternalLink | mlreportgen.dom.InternalLink | mlreportgen.dom.LinkTarget | mlreportgen.dom.PageRef