Main Content

本页采用了机器翻译。点击此处可查看英文原文。

准备 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);

在生成的报告中,文本是黑色,而不是红色。

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

另请参阅

| | | |

相关主题