将 HTML 内容转换为 DOM 对象
您可以将 HTML 内容转换为可添加到报告中的 DOM 对象。HTML 内容可以是字符串也可以是文件。要转换字符串中的 HTML 内容,请使用以下方法之一:
从 HTML 内容字符串创建一个
mlreportgen.dom.HTML对象并将该对象添加到报告中。您可以将此方法与 DOM API 或报告 API 报告一起使用。转换 HTML 内容并使用
addHTML方法将其添加到mlreportgen.dom.Document或mlreportgen.dom.DocumentPart对象。此方法返回一个HTML对象。您只能在 DOM API 报告中使用此方法。
请参阅将 HTML 内容转换为字符串。
要转换文件中的 HTML 内容,请使用以下方法之一:
从 HTML 文件创建一个
mlreportgen.dom.HTMLFile对象并将该对象添加到报告中。您可以将此方法与 DOM API 或报告 API 报告一起使用。转换 HTML 内容并使用
addHTMLFile方法将其添加到mlreportgen.dom.Document或mlreportgen.dom.DocumentPart对象。此方法返回一个HTMLFile对象。您只能在 DOM API 报告中使用此方法。
请参阅转换 HTML 文件内容。
转换之前准备 HTML
MATLAB® Report Generator™ mlreportgen.dom.HTML 和 mlreportgen.dom.HTMLFile 对象通常无法接受第三方应用程序的原始 HTML 输出,例如 Microsoft® Word,这些应用程序会将原生文档导出为 HTML 标记。在这些情况下,您的报告 API 报告生成程序可以使用 mlreportgen.utils.html2dom.prepHTMLString 和 mlreportgen.utils.html2dom.prepHTMLFile 函数准备原始 HTML 以供 mlreportgen.dom.HTML 或 mlreportgen.dom.HTMLFile 对象使用。这些函数:
通过使用 HTML 输出设置调用
mlreportgen.utils.tidy来纠正无效标记。使用 MATLAB HTML 查看器将整理后的标记转换为 HTML DOM 文档。请参阅https://www.w3.org/TR/WD-DOM/introduction.html。
MATLAB HTML 查看器根据输入 HTML 指定的内部和外部样式表以及元素的样式属性计算 HTML 输入中元素的 CSS 属性。CSS 属性计算支持所有有效的 CSS 样式表选择器,包括
mlreportgen.dom.HTML和mlreportgen.dom.HTMLFile对象不直接支持的选择器。将 HTML DOM 文档转换为
mlreportgen.dom.HTML和mlreportgen.dom.HTMLFile对象支持的 HTML 标记。每个元素的 style 属性指定了 MATLAB HTML 查看器计算的元素 CSS 属性。
通常,您的程序必须进一步处理准备好的 HTML 以删除有效但不想要的对象,例如原始内容中的换行符。
有关从文件准备 HTML 内容的示例,请参阅 准备 HTML 以转换为 DOM 对象。
将 HTML 内容转换为字符串
要将字符串中的 HTML 内容转换为 DOM 对象,请创建一个 mlreportgen.dom.HTML 对象并将该对象添加到报告中。
import mlreportgen.dom.*; d = Document("MyDoc","docx"); htmlObj = HTML("<p><b>Hello </b> <i style="color:green">World</i></p>"); append(d,htmlObj); close(d); rptview(d);
或者,使用 addHTML 方法转换 HTML 并将其添加到文档中。该方法返回一个 HTML 对象。
import mlreportgen.dom.*; d = Document("MyDoc","docx"); addHTML(d, "<p><b>Hello </b> <i style="color:green">World</i></p>"); close(d); rptview(d);
一旦创建了 HTML 对象,您就可以向该对象追加更多 HTML 内容。例如:
import mlreportgen.dom.*; d = Document("MyDoc","docx"); htmlObj = HTML("<p><b>Hello </b> <i style="color:green">World</i></p>"); append(htmlObj,"<p>This is <u>me</u> speaking</p>"); append(d,htmlObj); close(d); rptview(d);
要在报告中多次追加 HTML 对象的内容,请将 clone 方法与 HTML 对象一起使用。然后,将克隆追加到报告中。
转换 HTML 文件内容
要将 HTML 文件内容转换为 DOM 对象,请创建一个 mlreportgen.dom.HTMLFile 对象并将该对象添加到报告中。
创建一个包含以下 HTML 的文件 MyHTML.html:
<html><p style="color:green;font-family:arial">Hello World</p></html>根据 HTML 文件的内容生成 PDF 报告。
import mlreportgen.dom.*; d = Document("MyPDF","pdf"); htmlObj = HTMLFile("MyHTML.html"); append(d,htmlObj); close(d); rptview(d);
或者,使用 addHTMLFile 方法转换 HTML 并将其添加到文档中。
import mlreportgen.dom.*; d = Document("MyPDF","pdf"); addHTMLFile(d,"MyHTML.html"); close(d); rptview(d);
另请参阅
addHTML | addHTMLFile | mlreportgen.dom.HTMLFile | mlreportgen.dom.HTML | mlreportgen.utils.html2dom.prepHTMLFile | mlreportgen.utils.html2dom.prepHTMLString | mlreportgen.utils.tidy