Создание ссылок

В отчет можно добавить следующие виды ссылок:

  • Внутренний - Ссылка на местоположения в отчете. Использование mlreportgen.dom.InternalLink объект.

  • Внешний - ссылка на местоположение вне отчета, такое как страница HTML или PDF файла. Использование mlreportgen.dom.ExternalLink объект.

Создание внутренней ссылки

Для ссылки из одного места в документе в другое место в том же документе:

  1. Определите цель ссылки путем добавления mlreportgen.dom.LinkTarget объект документа или элемента документа. Чтобы убедиться, что целевое имя ссылки, которое вы используете для создания LinkTarget объект действителен для всех типов отчетов, сгенерируйте имя цели ссылки при помощи mlreportgen.utils.normalizeLinkID.

  2. Определите ссылку путем добавления 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 метод с этим объектом. Добавление 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 должна задать цель ссылки, которую использует элемент. The <pageref> использует один аргумент: <pageref target="nameoftarget">.

Для получения дополнительной информации об этом механизме смотрите mlreportgen.dom.PageRef.

См. также

| | | |

Похожие примеры

Подробнее о