Подготовка HTML для преобразования в объект DOM

В этом примере показов, как подготовить HTML содержимого перед преобразованием в MATLAB® Report Generator™ внутренней модели объекта документа (DOM). Пример создает таблицу стилей CSS и HTML файла, которая использует таблицу стилей. В примере используется mlreportgen.utils.html2dom.prepHTMLFile функция для подготовки содержимого файла HTML так, чтобы его можно было преобразовать в mlreportgen.dom.HTMLFile объект. Функция приводит в порядок HTML и преобразует HTML в разметку, которая поддерживается mlreportgen.dom.HTMLFile объект. Смотрите раздел Подготовка HTML перед преобразованием. Чтобы подготовить HTML содержимого, которая находится в строке, используйте mlreportgen.utils.html2dom.prepHTMLString.

Составьте таблицу стилей CSS, myCSS.css, чтобы указать, что текст в абзаце является красным.

p {
    color: red;
  }

Создайте файл, myHTML.html, который содержит этот HTML:

<html>
<head>
    <link rel="stylesheet" type="text/css" href="myCSS.css" >
</head>
<body>
    <p> Hello World</p>
</body>
</html>

HTML не может использоваться MATLAB Report Generator DOM HTMLFile объект, потому что link элемент не закрыт должным образом. Косая черта (/) перед закрывающей угловой скобкой (>) отсутствует.

Попытайтесь преобразовать HTML в mlreportgen.dom.HTMLFile объект.

import mlreportgen.dom.*
d = Document('test','pdf');
htmlObj = HTMLFile('myHTML.html');
append(d,htmlObj);
close(d);
rptview(d);
Error using mlreportgen.dom.HTMLFile
HTML error: expected end of tag 'link'

Очистить HTML при помощи mlreportgen.utils.tidy. Эта функция не форматирует элементы HTML, используя форматирование в таблице стилей.

import mlreportgen.dom.*
import mlreportgen.utils.*
d = Document('test','pdf');
tidy('myHTML.html');
htmlObj = HTMLFile('myHTML-tidied.html');
append(d,htmlObj);
close(d);
rptview(d);

В сгенерированном отчете текст черный, а не красный.

"Hello World", in black

Использовать mlreportgen.utils.html2dom.prepHTMLFile для приведения в порядок HTML и форматирования элементов HTML в соответствии с таблицей стилей.

import mlreportgen.dom.*
import mlreportgen.utils.html2dom.*
d = Document('test','pdf');
preppedHTMLFile = prepHTMLFile('myHTML.html','mypreppedHTML.html');
htmlObj = HTMLFile(preppedHTMLFile);
append(d,htmlObj);
close(d);
rptview(d);

В сгенерированном отчете текст имеет красный цвет.

"Hello World", in red.

Примечание

В процессе подготовки HTML, mlreportgen.utils.html2dom.prepHTMLFile и mlreportgen.utils.html2dom.prepHTMLString функции загружают HTML в веб-браузере MATLAB. Смотрите раздел Подготовка HTML перед преобразованием. Форматирование, не заданное в входе HTML или таблице стилей, определяется браузером. Входной HTML в этом примере не задает семейство шрифтов. Поэтому семейство шрифтов определяется браузером. Чтобы отобразить текст другим шрифтом, можно задать шрифт в вход таблице стилей или HTML перед подготовкой преобразования HTML или использовать возможности форматирования генерации отчета. См. раздел Подходы к форматированию отчетов.

См. также

| | | |

Похожие темы