exponenta event banner

класс mlreportgen.dom.HTML

Пакет: 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 является true, DOM API преобразует пробел между элементами во входной HTML-разметке в mlreportgen.dom.Text объекты. Если false, DOM API игнорирует пробелы между элементами.

Установка KeepInterElementWhiteSpace свойство для true не сохраняет пробел. Для сохранения пробела установите KeepInterElementWhiteSpace свойство для true и добавить mlreportgen.dom.WhiteSpace форматировать объект в Style имущества HTML объект. 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, API DOM не сохраняет пробел, если не используется 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 ® 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