主要内容

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

mlreportgen.dom.Document 类

命名空间: mlreportgen.dom

文档容器

描述

使用 mlreportgen.dom.Document 类的对象来表示文档对象模型 (DOM) 文档。使用 Document 对象属性指定:

  • 是否生成 HTML、Microsoft® Word 或 PDF 文档

  • 生成的文档存储在何处以及如何存储

  • 用于格式化文档的模板

mlreportgen.dom.Document 类是一个 handle 类。

类属性

ConstructOnLoad
true
HandleCompatible
true

有关类属性的信息,请参阅类属性

创建对象

描述

documentObj = mlreportgen.dom.Document 创建一个具有默认属性值的 Document 对象,该对象使用默认 HTML 模板在当前文件夹中指定一个名为 Untitled.htmx 的输出文件。

documentObj = mlreportgen.dom.Document(outputPath) 指定输出文件的路径和名称,并将 OutputPath 属性设置为 outputPath

documentObj = mlreportgen.dom.Document(outputPath,type) 还指定输出类型并将 Type 属性设置为 type

示例

documentObj = mlreportgen.dom.Document(outputPath,type,templatePath) 还指定模板文件的路径和名称,并将 TemplatePath 属性设置为 templatePath

属性

全部展开

输出文件或文件夹的路径,指定为字符向量或字符串标量。默认值是当前文件夹中名为 untitled 的文件或文件夹的路径。该路径可以是完整路径,例如 "C:/myreports/reportA.docx"。该路径也可以相对于当前 MATLAB 文件夹,例如 "reportA"。如果不指定文件扩展名,DOM 会根据文档的 Type 属性添加扩展名。您只能在打开文档之前设置此属性。

OutputPath 是否指定文件或文件夹的路径取决于 PackageType 属性的值,如表所示。

PackageTypeOutputPath
"zipped""single-file"ZIP 文件或单个文件的路径和名称
"unzipped"解压后文件的文件夹
"both"ZIP 文件和解压后文件夹的路径和名称

注意

在云驱动器(例如 MATLAB® Drive™ 或 Microsoft OneDrive™)上生成 PDF 报告可能会导致报告生成软件与云驱动器同步软件之间发生文件冲突,从而导致以下错误:

Error closing document package: Could not commit changes: removeAll failed: fl:filesystem:AccessDenied: 
C:\Users\jdoe\OneDrive\Documents\MATLAB\reports\temp_FO\stylesheets: Permission denied.
要避免此问题,请在不与云同步的本地驱动器上生成报告。考虑编写一个脚本,在本地驱动器上生成报告,然后将报告复制到云端驱动器。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

用于生成文件的打包方式,指定为以下值之一:

支持的报告类型描述

"zipped"

  • "docx"

  • "html"

  • "html-multipage" (自 R2024a 起)

将报告作为 ZIP 文件生成到 OutputPath 属性指定的位置。ZIP 文件的扩展名与文档类型匹配(Word 输出为 docx,HTML 输出为 htmtx。)例如,如果文档类型为 docxOutputPaths:\docs\MyDoc,则输出将打包为一个名为 s:\docs\MyDoc.docx 的 ZIP 文件。

"unzipped"
  • "docx"

  • "html"

  • "html-multipage" (自 R2024a 起)

将报告作为单独的文件生成在具有 OutputPath 属性文件名的文件夹中。例如,如果 OutputPaths:\docs\MyDoc,则输出文件夹是 s:\docs\MyDoc

"both"
  • "docx"

  • "html"

  • "html-multipage" (自 R2024a 起)

生成压缩和解压缩的输出。

"single-file"
  • "html-file"

  • "pdf"

  • "pdfa" (自 R2025a 起)

将报告生成为单个文件。

提示

Type 属性为 "html""html-multipage" (自 R2024a 起) 时,若要生成无需解压即可打开的 HTML 报告,请将 PackageType 设置为 "unzipped""both"。在包含生成文件的文件夹中,打开 root.html 文件。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

是否覆盖现有输出文件,指定为逻辑值 1 (true) 或 0 (false)。当您指定:

  • 1 (true) - 用同名的文件覆盖现有输出文件。

  • 0 (false) - 请勿用同名的文件覆盖现有的输出文件。

如果此属性为 false,并且存在同名的可写文件,则关闭该文档会导致错误。如果现有文件是只读的,则无论此属性设置如何,关闭该文档都会导致错误。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: logical

是否将输出流写入磁盘,指定为逻辑 1 (true) 或 0 (false)。当您指定:

  • 1 (true) - 在将文档元素追加到文档时,将其写入磁盘。

  • 0 (false) - 将文档元素保存在内存中,直到文档关闭为止。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: logical

HTML 浏览器标题栏的文本,指定为字符向量或字符串标量。对于 HTML 文档,此属性指定出现在用于显示该文档的浏览器标题栏中的文本。Word 和 PDF 文档忽略此属性。

在打开文档之前设置此属性。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

HTML 标题的自定义内容,指定为字符向量或字符串标量。该属性的值追加到此文档的 <head> 元素中,位于文档模板的 head 部分指定的内容之后。仅在打开文档之前设置此属性。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

要使用的模板的完整路径,可以选择包含文件扩展名,指定为字符向量或字符串标量。文件扩展名可以是下列值之一:

扩展名文件类型
.htmtx

压缩 HTML

.dotx

Microsoft Word

.htmt

单文件 HTML

.pdfx

PDF

注意

打开文档进行输出后,此属性无法更改。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

输出文件类型,指定为以下值之一:

文件类型
"docx"

Microsoft Word

"html"

HTML 输出为压缩或解压后的文件夹,其中包含 HTML 文档文本、图像、样式表和 JavaScript® 文件

"html-file"

HTML 输出由单个文件组成,其中包含报告的文本、样式表、JavaScript 和图像

"html-multipage" (自 R2024a 起)

HTML 输出为压缩或解压后的文件夹,其中包含分为多个页面的 HTML 文档文本、图像、样式表和 JavaScript 文件

"pdf"

PDF

"pdfa" (自 R2025a 起)PDF/A

如果使用 TemplatePath 属性指定模板,则该模板必须与 Type 属性一致。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

文档中当前空位的 ID,指定为字符向量或字符串标量。

属性:

GetAccess
public
SetAccess
private
Transient
true
NonCopyable
true

数据类型: char | string

当前模板空位的类型,指定为 "Inline""Block"

  • 内联空位适用于段落元素可以包含的文档元素:TextImageLinkTargetExternalLinkInternalLinkCharEntityAutoNumber

  • 块状空位可以包含 ParagraphTableOrderedListUnorderedListDocumentPartGroup 元素。

属性:

GetAccess
public
SetAccess
private
Transient
true
NonCopyable
true

数据类型: char | string

该文档的当前页面布局,指定为 mlreportgen.dom.DOCXPageLayout 对象、mlreportgen.dom.PDFPageLayout 对象或 []。此属性适用于 Word 和 PDF 文档。对于 Word 文档,该值是一个指定当前页面布局的 DOCXPageLayout 对象。对于 PDF 文档,如果文档当前指定了页面布局,则该值为 PDFPageLayout 对象。对于 HTML 文档,该值始终为 []

属性:

GetAccess
public
SetAccess
private
Transient
true
NonCopyable
true

此文档对象的打开状态,指定为 "unopened""open""closed"

注意

如果 mlreportgen.dom.Document 对象的 OpenStatus 属性是 "open" 并且您调用 rptview 来查看报告,则 OpenStatus 将被设置为 "closed"。要显示一份报告,需要调用 close 方法,该方法将报告在内存中的 DOM 表示形式转换为 Type 属性指定的类型的文件。如果 Document.OpenStatus 尚未设置为 "closed",则 rptview 会自动为您发出所需的关闭命令。

属性:

SetAccess
private
Transient
true
NonCopyable
true

数据类型: char | string

自 R2024a 起

文档尾注选项,指定为 mlreportgen.dom.EndnoteOptions 对象。如果 EndnoteOptions 的任何属性为空,则文档使用默认值。

注意

如果页面布局指定了尾注选项,则页面布局尾注选项将覆盖此处指定的文档尾注选项。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

自 R2024a 起

文档脚注选项,指定为 mlreportgen.dom.FootnoteOptions 对象。如果 FootnoteOptions 的任何属性为空,则文档使用默认值。

注意

如果页面布局指定了脚注选项,则页面布局脚注选项将覆盖此处指定的文档脚注选项。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

此文档元素的父级,指定为文档元素。一个文档元素只能有一个父元素。

属性:

SetAccess
private
Transient
true
NonCopyable
true

此文档元素的子元素,指定为文档元素对象数组。使用 append 方法追加的元素添加到此处。

属性:

SetAccess
private
Transient
true
NonCopyable
true

标记,指定为字符向量或字符串标量。DOM API 在创建此对象的过程中生成一个会话唯一标记。生成的标记形式为 CLASS:ID,其中 CLASS 是对象类,ID 是对象的 Id 属性的值。使用此值来帮助确定在文档生成过程中出现的问题的位置。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

目标标识符,指定为字符向量或字符串标量。DOM API 在创建文档元素对象时会生成一个会话唯一标识符。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

方法

全部展开

示例

全部折叠

创建 Word 文档,添加内容,并在 Word 中查看报告。

import mlreportgen.dom.*;
d = Document("mydoc","docx");

append(d,"Hello World");

close(d);
rptview(d);

将 HTML 文档创建为包含图像的单个 HTML 文件。该示例假设有一个 MyImage.jpg 文件和一个 myHTMLTemplate.htmt HTML 模板文件。

创建一个文档,其输出为单个 HTML 文件并使用模板 myHTMLTemplate。向报告中添加文本和图像。关闭并查看文档。

import mlreportgen.dom.*;
d = Document("mydoc","html-file","myHTMLTemplate.htmt"); 
open(d); 

append(d,"Hello world"); 
append(d,Image("C:/images/LocalSystem/MyImage.jpg"));

close(d); 
rptview(d); 

详细信息

全部展开

版本历史记录

在 R2014b 中推出

全部展开