mlreportgen.dom.HTML class

Пакет: mlreportgen.dom
Суперклассы:

Используйте HTML разметки для создания документа DOM

Описание

Преобразует строку разметки HTML в объекты DOM и добавляет их в HTML объект, который он также создает. Можно добавить объект HTML к документу DOM любого типа, включая документы Word и PDF.

Конструкция

htmlObj = HTML() создает пустой HTML объект.

htmlObj = HTML(htmlText) преобразует текст HTML в HTML объект, содержащий объекты DOM, имеющие одинаковое содержимое и формат.

Система координат HTML объект поддерживает эти элементы и атрибуты HTML. В сложение, HTML объекты принимают HTML, содержащий пользовательские свойства CSS, которые начинаются с дефиса. Пользовательские свойства CSS поддерживаются в HTML, Microsoft® Word, и PDF вывод.

Элемент HTMLПризнаки
aclass, style, href, name
addressclass, style
bclass, style
bigclass, style
blockquoteclass, style
bodyclass, style
brn/a
centerclass, style
citeclass, style
codeclass, style
ddclass, style
delclass, style
dfnclass, style
divclass, style
dlclass, style
dtclass, style
emclass, style
fontclass, style, color, face, size
h1, h2, h3, h4, h5, h6class, style, align
hrclass, style, align
iclass, style
insclass, style
imgclass, style, src, height, width
kbdclass, style
liclass, style
markclass, style
nobrclass, style
olclass, style
pclass, style, align
preclass, style
sclass, style
sampclass, style
smallclass, style
spanclass, style
strikeclass, style
strongclass, style
subclass, style
supclass, style
tableclass, style, align, bgcolor, border, cellspacing, cellpadding, frame, rules, width
tbodyclass, style, align, valign
tfootclass, style, align, valign
theadclass, style, align, valign
tdclass, style, bgcolor, height, width, colspan, rowspan, align, valign, nowrap
thclass, style, bgcolor, height, width, colspan, rowspan, align, valign, nowrap
trclass, style, align, bgcolor, valign
ttclass, style
uclass, style
ulclass, style
varclass, style

Для получения информации об этих элементах смотрите https://developer.mozilla.org/en-US/docs/Web/HTML/Element.

Входные параметры

расширить все

HTML, заданный как вектор символов

Пример: html = HTML('<p><b>Hello</b> <i style="color:green"> World</i></p>');

Свойства

расширить все

Примечание

Чтобы HTML разметки правильно отображались в отчете, необходимо включить конечные теги для пустых элементов и заключить значения атрибутов в кавычки. Если необходимо показать зарезервированную разметку XML символа в виде текста, необходимо использовать эквивалентную ей именованный или числовой символ XML.

Зарезервированный символОписаниеЭквивалентный символ
>Больше, чем&gt;
<Меньше, чем&lt;
&Амперсанд&amp;
"Двойной кавычки&quot;
'Одинарная кавычка&apos;
%Процент&#37;

Уникальный для сеанса идентификатор генерируется как часть HTML создание объектов. Можно задать идентификатор для замены сгенерированного идентификатора.

Имя тега элемента контейнера HTML, заданное как вектор символов, например 'div', 'section', или 'article' соответствующий этому HTML объект. Это свойство применяется только к HTML выхода.

Это свойство только для чтения приводит список дочерних элементов, которые HTML объект содержит.

В этом свойстве только для чтения перечислен родительский элемент этого HTML объект.

Форматирование для применения к этому HTML объект, заданный как массив ячеек объектов формата DOM. Дети этого HTML объект наследует любой из этих форматов, которые они не переопределяют.

Имя стиля этого HTML объект, заданный как вектор символов. Используйте имя стиля, заданное в таблице стилей документа, которому HTML объект добавлен. Заданный стиль определяет внешний вид HTML объект в выход документе, где не переопределен форматами, заданными этим StyleName свойство HTML объект.

Тег для HTML объект, заданный как вектор символов.

Уникальный для сеанса идентификатор генерируется как часть HTML создание объектов. Сгенерированный тег имеет форму CLASS:ID, где CLASS - класс элемента и ID - значение Id свойство объекта. Можно задать тег для замены сгенерированного тега.

Например, задайте собственное значение тега, чтобы упростить определение места возникновения проблемы во время генерации документа.

Преобразует ли пустое пространство между элементами, задается как true или false. Если KeepInterElementWhiteSpace является trueDOM API преобразует пустое пространство между элементами входной HTML-разметки в mlreportgen.dom.Text объекты. Если falseDOM API игнорирует пустое пространство между элементами.

Установка KeepInterElementWhiteSpace свойство к true не сохраняет пустое пространство. Чтобы сохранить пустое пространство, установите KeepInterElementWhiteSpace свойство к true и добавить mlreportgen.dom.WhiteSpace форматировать объект в Style свойство HTML объект. The WhiteSpace свойство WhiteSpace объект должен быть установлен в 'preserve'. Для примера:

import mlreportgen.dom.*
d2 = mlreportgen.dom.Document("ex2","pdf");
h2 = HTML();
h2.Style = {WhiteSpace('preserve')};
h2.KeepInterElementWhiteSpace = true;
append(h2,'<p>    <span>Hello</span>    <span>World!</span></p>');
append(d2,h2);
close(d2);
rptview(d2)

Если входной HTML сохраняет пустое пространство с помощью style атрибут, вам не нужно использовать KeepInterElementWhiteSpace свойство и WhiteSpace объект. Для примера:

import mlreportgen.dom.*
d1 = mlreportgen.dom.Document("ex1","pdf");
h1 = HTML();
append(h1,'<p style="white-space:pre"> <span>Hello</span>    <span>World!</span></p>');
append(d1,h1);
close(d1);
rptview(d1);

Если входной HTML использует стиль CSS для сохранения пустого пространства, DOM API не сохраняет пустое пространство, если вы не используете KeepInterElementWhiteSpace и WhiteSpace объект. Для примера:

import mlreportgen.dom.*
d3 = mlreportgen.dom.Document("ex3","pdf");
h3 = HTML();
h3.Style = {WhiteSpace('preserve')};
h3.KeepInterElementWhiteSpace = true;
append(h3,[ ...
    '<style type="text/css">.myStyle { white-space: pre}</style>' ...
    '<p class="myStyle"> <span>Hello</span>    <span>World!</span></p>']);
append(d3,h3);
close(d3);
rptview(d3);

Кроме того, если входной HTML использует стиль CSS для сохранения пустого пространства, можно подготовить HTML с помощью mlreportgen.utils.html2dom.prepHTMLString или mlreportgen.utils.html2dom.prepHTMLFile. Затем создайте HTML объект из подготовленного HTML. Для примера:

import mlreportgen.dom.*
d3 = mlreportgen.dom.Document("ex3","pdf");
h3 = HTML();
htmlStr = ['<style type="text/css">.myStyle { white-space: pre}</style>' ...
    '<p class="myStyle"> <span>Hello</span>    <span>World!</span></p>'];
preppedhtml = mlreportgen.utils.html2dom.prepHTMLString(htmlStr);
append(h3,preppedhtml);
append(d3,h3);
close(d3);
rptview(d3);

Смотрите раздел Подготовка HTML перед преобразованием.

Размер шрифта одного em модуль, в точках, заданная в виде целого числа. Если стиль в HTML задает размер шрифта в em модулей, количество em модули умножаются на значение EMBaseFontSize свойство для определения размера шрифта в точках. Для примера следующий код результатов в размере шрифта 20 точек.

h = HTML();
     h.EMBaseFontSize = 10;
     append(h, '<p style="font-size:2em">Hello</p>');
 

Установите EMBaseFontSize свойство в пустом mlreportgen.dom.HTML объект. Затем добавьте HTML к объекту. Для примера:

import mlreportgen.dom.*; 
rpt = Document('MyReport','pdf');  
htmlobj = HTML();
htmlobj.EMBaseFontSize = 14;
append(htmlobj,'<p style="font-size:2em">Hello</p>');
append(rpt,htmlobj); 
close(rpt);
rptview('MyReport.pdf');

Установка EMBaseFontSize свойство в mlreportgen.dom.HTML объект, который уже содержит HTML, не имеет никакого эффекта.

Методы

приложитьДобавление HTML- строка к объекту HTML
клонКопировать объект HTML

Примеры

свернуть все

Создайте mlreportgen.dom.HTML объект из разметки HTML и добавить его в отчет Word.

import mlreportgen.dom.*;
rpt = Document('MyReport', 'docx');
html = HTML('<p><b>Hello</b> <i style="color:green"> World</i></p>');
append(html, '<p>This is <u>me</u> speaking</p>');
append(rpt, html);
close(rpt);
rptview(rpt.OutputPath);
Получившийся отчет Word выглядит следующим образом:

Совет

  • MATLAB® Report Generator™ mlreportgen.dom.HTML или mlreportgen.dom.HTMLFile объекты обычно не могут принимать необработанный HTML выхода сторонних приложений, таких как Microsoft Word, которые экспорт собственные документы как HTML разметки. В этих случаях программа генерации отчетов Report API может использовать mlreportgen.utils.html2dom.prepHTMLString и mlreportgen.utils.html2dom.prepHTMLFile функции для подготовки необработанного HTML для использования со mlreportgen.dom.HTML или mlreportgen.dom.HTMLFile объекты. Как правило, ваша программа должна будет продолжить обработку подготовленного HTML для удаления допустимых, но нежелательных объектов, таких как каналы линий, которые находились в необработанном содержимом.

  • Документы Word и PDF требуют, чтобы встроенные элементы, такие как текст и ссылки, содержались в абзаце. Чтобы удовлетворить этому требованию, HTML создает оберточные абзацы, содержащие встроенные элементы, которые еще не указаны в абзаце. Если вы создаете mlreportgen.dom.HTML или mlreportgen.dom.HTMLFile объект из HTML, который содержит встроенные элементы, не входящие в абзацы и добавляющие объект в HTML-документ, сгенерированный HTML может отличаться от входного HTML. Чтобы сгенерировать встроенные элементы без добавленных абзацев оболочки, вставьте HTML разметки в HTML документ с помощью mlreportgen.dom.RawText объект.

  • По умолчанию DOM API использует базовый шрифт размером 12 точек для преобразования em модулей по фактическим размерам шрифта. Для примера размер шрифта задается как 2em преобразует в 24 точки. Чтобы задать другой размер базового шрифта, добавьте содержимое в отчет с помощью mlreportgen.dom.HTML объект. Установите EMBaseFontSize свойство объекта к размеру базового шрифта. Для примера, если вы задаете EMBaseFontSize свойство для 14, размер шрифта 2em преобразует в 28 точек.

Введенный в R2015a