メインコンテンツ

mlreportgen.dom.DocumentPart クラス

名前空間: mlreportgen.dom

ドキュメント パーツ オブジェクトの作成

説明

mlreportgen.dom.DocumentPart クラスのオブジェクトを使用して、レポートの繰り返し可能なパーツであるドキュメント パーツを定義します。通常、ドキュメント パーツには、レポートの生成時に埋めることができるホールがあります。パーツは、ドキュメントに追加したり、同じ出力タイプのドキュメント パーツに追加したりできます。

mlreportgen.dom.DocumentPart クラスは handle クラスです。

作成

説明

documentPartObj = DocumentPart は、既定の HTML テンプレートを使用して HTML ドキュメント パーツを作成します。

documentPart = DocumentPart(type) は、指定されたタイプ (Microsoft® Word など) のドキュメント パーツを、そのパーツの既定のテンプレートに基づいて作成します。

documentPartObj = DocumentPart(type,templatePath) は、指定されたテンプレートに基づいてドキュメント パーツを作成します。

documentPartObj = DocumentPart(type,templatePath,docPartTemplateName) は、指定されたテンプレート内の指定されたドキュメント パーツ テンプレートに基づいてドキュメント パーツを作成します。

documentPartObj = DocumentPart(templateSrc,docPartTemplateName) は、指定されたソースで使用されるテンプレートに格納されている指定されたドキュメント パーツ テンプレートに基づいてドキュメント パーツを作成します。ソースに指定できるのはドキュメントまたはドキュメント パーツです。

入力引数

すべて展開する

出力のタイプ。次の値のいずれかとして指定します。

  • "docx" (Microsoft Word の場合)

  • "html" (HTML 出力の場合)

  • "html-file" (単一ファイルの HTML 出力の場合)

  • "html-multipage" (マルチページ HTML 出力の場合) (R2024a 以降)

  • "pdf" (PDF 出力の場合)

  • "pdfa" (PDF/A 出力の場合) (R2025a 以降)

templatePath 引数を使用してテンプレートを指定する場合、type の値はテンプレート タイプと一致しなければなりません。

このパーツのテンプレート ファイルまたはフォルダーの絶対パス。文字ベクトルまたは string スカラーとして指定します。ファイル拡張子を省略した場合、テンプレートの種類はドキュメントの種類に基づきます (たとえば、Word の場合は .docx)。

データ型: char | string

ドキュメント パーツ テンプレート名。文字ベクトルまたは string スカラーとして指定します。templatePath または templateSrc の引数を使用して、パーツを保存する場所を指定します。

データ型: char | string

このドキュメント パーツのテンプレートを包含するテンプレートをもつドキュメントまたはドキュメント パーツのオブジェクト。ドキュメントの場合は mlreportgen.dom.Document オブジェクト、ドキュメント パーツの場合は mlreportgen.dom.DocumentPart オブジェクトとして指定します。

プロパティ

すべて展開する

ドキュメントのカレント ホールの ID。文字ベクトルまたは string スカラーとして指定します。

属性:

GetAccess
public
SetAccess
private
Transient
true
NonCopyable
true

データ型: char | string

カレント テンプレート ホールのタイプ。"Inline" または "Block" として指定します。

  • インライン ホールは、段落要素が含むことのできるドキュメント要素 (TextImageLinkTargetExternalLinkInternalLinkCharEntity、または AutoNumber) を対象とする。

  • ブロック ホールは、ParagraphTableOrderedListUnorderedListDocumentPart、または Group の要素を含むことができる。

属性:

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" として指定します。

属性:

GetAccess
public
SetAccess
private
Transient
true
NonCopyable
true

データ型: char | string

このパーツのテンプレートの名前 (このプロパティの TemplatePath で指定されたテンプレートのドキュメント パーツ テンプレート ライブラリにテンプレートが保存されている場合)。string スカラーまたは文字ベクトルとして指定します。このプロパティが [] の場合、TemplatePath プロパティで指定されたテンプレートがこのパーツのテンプレートとして使用されます。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

データ型: char

このパーツのテンプレートのパス、またはこのパーツのテンプレートを包含するテンプレート ライブラリのテンプレートのパス。文字ベクトルまたは string スカラーとして指定します。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

データ型: char

出力ファイル タイプ。次の値のいずれかとして指定します。

ファイル タイプ
"docx"

Microsoft Word

"html"

HTML ドキュメントのテキスト、イメージ、スタイル シート、および JavaScript® ファイルを含む圧縮または未圧縮のフォルダーとしての HTML 出力

"html-file"

レポート用にテキスト、スタイル シート、JavaScript、およびイメージを含む単一のファイルで構成される HTML 出力

"html-multipage" (R2024a 以降)

複数のページに分割された HTML ドキュメントのテキスト、イメージ、スタイル シート、および JavaScript ファイルを含む圧縮または未圧縮のフォルダーとしての HTML 出力

"pdf"

PDF

"pdfa" (R2025a 以降)PDF/A

TemplatePath プロパティを使用してテンプレートを指定する場合、テンプレートは Type プロパティと一致するものでなければなりません。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

データ型: char | string

このオブジェクトの親。ドキュメント要素オブジェクトとして指定します。ドキュメント要素の親は 1 つでなければなりません。

属性:

GetAccess
public
SetAccess
private
NonCopyable
true

このオブジェクトの子。ドキュメント要素オブジェクトの配列として指定します。このプロパティには、append メソッドを使用して追加されたドキュメント要素オブジェクトが含まれます。

属性:

GetAccess
public
SetAccess
private
NonCopyable
true

タグ。文字ベクトルまたは string スカラーとして指定します。DOM API は、このオブジェクトを作成するときに、セッション固有タグを生成します。生成されるタグの形式は CLASS:ID という形式です。ここで、CLASS はオブジェクト クラスです。ID はオブジェクトの Id プロパティの値です。この値を使用すると、ドキュメントの生成中に問題が発生した箇所を容易に特定できるようになります。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

データ型: char | string

オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。DOM API は、ドキュメント要素オブジェクトの作成時にセッション固有識別子を生成します。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

データ型: char | string

メソッド

すべて展開する

すべて折りたたむ

この例では、空のドキュメント パーツ テンプレートに基づいてドキュメント パーツを定義する関数 createMagicSquareReport を作成します。新しいドキュメント パーツには、入力に応じて異なるテキストをもつ見出しがあります。生成された各ドキュメント パーツは、入力に基づいた外観をもつ魔方陣テーブルを含んでいます。この例では、入力に基づいてドキュメント パーツをレポートに反復的に追加するローカル関数 createSquareSection も作成します。

関数を作成します。

function createMagicSquareReport(square_sizes, report_type)
%createMagicSquareReport Report on magic squares
%    magic_square_report(square_sizes, report_type) 
%    creates a report of the specified output type 
%    (docx, pdf, or html) on the specified magic
%    squares. For example, to create a PDF report on 
%    squares of size 5, 10, and 15, enter the following 
%    line at the MATLAB More About
Append content to  object
You can append the objects in this table to an object.Valid DOM ObjectsValid MATLAB Objects
 mlreportgen.dom.AutoNumber  mlreportgen.dom.CharEntity  mlreportgen.dom.Container  mlreportgen.dom.CustomElement  mlreportgen.dom.DOCXPageLayout  mlreportgen.dom.DOCXSubDoc  mlreportgen.dom.EmbeddedObject  mlreportgen.dom.ExternalLink  mlreportgen.dom.FormalTable  mlreportgen.dom.Group  mlreportgen.dom.Heading  mlreportgen.dom.Heading1  mlreportgen.dom.Heading2  mlreportgen.dom.Heading3  mlreportgen.dom.Heading4  mlreportgen.dom.Heading5  mlreportgen.dom.Heading6  mlreportgen.dom.HorizontalRule  mlreportgen.dom.HTML  mlreportgen.dom.HTMLFile  mlreportgen.dom.Image  mlreportgen.dom.InternalLink  mlreportgen.dom.LineBreak  mlreportgen.dom.LinkTarget  mlreportgen.dom.LOC  mlreportgen.dom.LOF  mlreportgen.dom.LOT  mlreportgen.dom.MATLABTable  mlreportgen.dom.Number  mlreportgen.dom.NumPages  mlreportgen.dom.OrderedList  mlreportgen.dom.Page  mlreportgen.dom.PageBreak  mlreportgen.dom.PageRef  mlreportgen.dom.Paragraph  mlreportgen.dom.Preformatted  mlreportgen.dom.RawText  mlreportgen.dom.StyleRef  mlreportgen.dom.Table  mlreportgen.dom.TemplateHole  mlreportgen.dom.Text  mlreportgen.dom.TOC  mlreportgen.dom.UnorderedList 
 append(DOCXPageFooter,xxx)
DOM2Class autogenerated by script, S. Heile on 13-Nov-2025 11:23:09
 fallback for matlab/doc/src/toolbox/rptgen/ug/xInc/DOMappend/xi_DOMappend_HTMLPage.xml character array  Appends and returns a mlreportgen.dom.Text object.string scalar  Appends and returns a mlreportgen.dom.Text object.numeric variable  Appends and returns a mlreportgen.dom.Number object.logical variable  Appends and returns a mlreportgen.dom.Number object with a value of 1 or 0.1D horizontal array of double values or strings  Appends and returns a mlreportgen.dom.UnorderedList object.2D array of double values or strings  Appends and returns a mlreportgen.dom.Table object.MATLAB table  Appends and returns a mlreportgen.dom.MATLABTable object.
 append(DOCXPageFooter,xxxMLvar)
ML2Class autogenerated by script, S. Heile on 13-Nov-2025 11:23:21
 fallback for matlab/doc/src/toolbox/rptgen/ug/xInc/DOMappend/ML2Class/xi_DOMappend_ML2Class_HTMLPage.xml 
#DOMAppendcommand line:
%
%      createMagicSquareReport([5,10,15],"pdf");

import mlreportgen.dom.*;
rpt = Document("MagicSquareReport",report_type);
open(rpt);
for i = 1:length(square_sizes)
    sz = square_sizes(i);
    section = createSquareSection(rpt,sz);
    append(rpt,section);
end
close(rpt);
rptview(rpt.OutputPath);
 
function section = createSquareSection(rpt,square_size)
import mlreportgen.dom.*;
% Create document part to hold section
section = DocumentPart(rpt.Type);
% Create magic square heading
h1 = Heading1(sprintf("magic(%i)",square_size));
% Put each square on a separate page.
h1.Style = {PageBreakBefore(true)};
append(section,h1);
% Create table to hold square
table = append(section, Table(magic(square_size)));
% Format table
table.Border = "solid";
table.ColSep = "solid";
table.RowSep = "solid";

関数を呼び出してレポートを生成します。コンテンツや出力形式を変更するには、入力引数を変更します。この例では、3 つの正方形を含む Word ドキュメントを作成します。

 createMagicSquareReport([5,8,12],"docx");

詳細

すべて展開する

バージョン履歴

R2014a で導入

すべて展開する