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Имя
bclass, style
bodyclass, style
brнет данных
codeclass, style
delclass, style
divclass, style
fontclass, style, color, faceразмер
h1, h2, h3, h4, h5, h6class, styleвыравнивание
hrclass, styleвыравнивание
iclass, style
insclass, style
imgclass, stylesrc высотаwidth
liclass, style
olclass, style
pclass, styleвыравнивание
preclass, style
sclass, style
spanclass, style
strikeclass, style
subclass, style
supclass, style
tableclass, styleвыравнивание, bgcolor'Граница' , cellspacing, cellpaddingСистема координат, ruleswidth
tbodyclass, styleвыравнивание, valign
tfootclass, styleвыравнивание, valign
theadclass, styleвыравнивание, valign
tdclass, style, bgcolorвысотаwidth, colspan, rowspan, valign, nowrap
trclass, style, bgcolor, valign
ttclass, style
uclass, style
ulclass, 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 создание объекта. Можно задать ID, чтобы заменить сгенерированный ID.

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

Установка 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® Report Generator™ mlreportgen.dom.HTML или mlreportgen.dom.HTMLFile объекты обычно не могут принимать необработанный вывод HTML сторонних приложений, таких как Microsoft Word, тот собственный компонент экспорта документы как разметка HTML. В этих случаях ваша программа генерации отчета 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 объект.

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

Представленный в R2015a