准备 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;
}
创建一个包含以下 HTML 的文件 myHTML.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"
使用 mlreportgen.utils.tidy
整理 HTML。此函数不使用样式表中的格式来格式化 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);
在生成的报告中,文本是黑色,而不是红色。
使用 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);
在生成的报告中,文本为红色。
注意
在准备 HTML 的过程中,mlreportgen.utils.html2dom.prepHTMLFile
和 mlreportgen.utils.html2dom.prepHTMLString
函数会将 HTML 加载到一个 MATLAB HTML 查看器中。请参阅转换之前准备 HTML。输入 HTML 或样式表中未指定的格式由浏览器决定。此示例中的输入 HTML 未指定字体系列。因此,字体系列由浏览器决定。要用不同的字体呈现文本,您可以在准备 HTML 转换之前在输入样式表或 HTML 中指定字体,或者使用报告生成格式化功能。请参阅报告格式化方法。
另请参阅
mlreportgen.utils.html2dom.prepHTMLFile
| mlreportgen.utils.html2dom.prepHTMLString
| mlreportgen.utils.tidy
| mlreportgen.dom.HTMLFile
| mlreportgen.dom.HTML