Подготовьте 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 элемент правильно не закрывается. Наклонная черта (/) перед закрывающей угловой скобкой (>ismissing.

Попытайтесь преобразовать 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 или использовать возможности форматирования генерации отчета. См. Отчет Форматировать Подходы.

Смотрите также

| | | |

Похожие темы