将 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