Main Content

mlreportgen.dom.DocumentPart クラス

名前空間: mlreportgen.dom

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

説明

レポートの繰り返し可能パーツであるドキュメント パーツを定義します。通常、ドキュメント パーツには、レポートの生成時に埋めることができるホールがあります。パーツは、ドキュメントに追加したり、同じ出力タイプのドキュメント パーツに追加したりできます。

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) は、指定されたソースで使用されるテンプレートに格納されている指定されたドキュメント パーツ テンプレートに基づいてドキュメント パーツを作成します。ソースに指定できるのはドキュメントまたはドキュメント パーツです。

入力引数

すべて展開する

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

  • "html" — HTML 出力

  • "pdf" — PDF テンプレートに基づく PDF

  • "docx" — Word 出力

  • "html-file" — HTML 出力。レポート用に CSS、JavaScript®、およびイメージを含んだ単一のファイルを使用

  • "html-multipage" — 複数のページに分割された HTML ドキュメントのテキスト、イメージ、スタイル シート、および JavaScript ファイルを含む HTML 出力 (R2024a 以降)

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

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

データ型: char

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

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

プロパティ

すべて展開する

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

属性:

SetAccess
private
Transient
true
NonCopyable
true

データ型: char | string

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

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

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

属性:

SetAccess
private
Transient
true
NonCopyable
true

データ型: char | string

このドキュメントの現在のページ レイアウト。mlreportgen.dom.DOCXPageLayout オブジェクト、mlreportgen.dom.PDFPageLayout オブジェクト、または [] として指定します。このプロパティは、Word ドキュメントと PDF ドキュメントに適用されます。Word ドキュメントの場合、この値は現在のページ レイアウトを指定する DOCXPageLayout オブジェクトになります。PDF ドキュメントの場合、ドキュメントによってページ レイアウトが現在指定されていれば、この値は PDFPageLayout オブジェクトになります。HTML ドキュメントの場合、この値は常に [] になります。

属性:

SetAccess
private
Transient
true
NonCopyable
true

このドキュメントが開かれているかどうかのステータス。'unopened''open'、または 'closed' として指定します。

属性:

SetAccess
private
Transient
true
NonCopyable
true

データ型: char | string

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

属性:

NonCopyable
true

データ型: char

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

属性:

NonCopyable
true

データ型: char

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

ファイル タイプ
"docx"

Microsoft Word

"html"

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

"html-file"

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

"html-multipage" (R2024a 以降)

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

"pdf"

PDF

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

属性:

NonCopyable
true

データ型: char | string

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

属性:

SetAccess
private
NonCopyable
true

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

属性:

SetAccess
private
NonCopyable
true

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

属性:

NonCopyable
true

データ型: char | string

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

属性:

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 command 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 で導入