准备 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
函数在 MATLAB 网络浏览器中加载 HTML。请参阅转换之前准备 HTML。输入 HTML 或样式表中未指定的格式由浏览器决定。此示例中的输入 HTML 未指定字体系列。因此,字体系列由浏览器决定。要用不同的字体呈现文本,您可以在准备 HTML 转换之前在输入样式表或 HTML 中指定字体,或者使用报告生成格式化功能。请参阅报告格式化方法。
另请参阅
mlreportgen.utils.html2dom.prepHTMLFile
| mlreportgen.utils.html2dom.prepHTMLString
| mlreportgen.utils.tidy
| mlreportgen.dom.HTMLFile
| mlreportgen.dom.HTML