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®、およびイメージを含んだ単一のファイルを使用

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

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

データ型: char

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

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

プロパティ

すべて展開する

このドキュメント要素の子。DOM オブジェクトの配列として指定します。このプロパティは読み取り専用です。

この読み取り専用プロパティは、このドキュメントの現在のホールのホール ID です。

データ型: char

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

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

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

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

このドキュメント要素の ID。文字ベクトルまたは string スカラーとして指定します。ドキュメント要素を作成するときに、DOM によってセッション固有 ID が生成されます。独自の ID を指定できます。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

データ型: char | string

この読み取り専用プロパティは、このドキュメント要素が開かれているかどうかのステータスを一覧表示します。

このドキュメント要素の親。DOM オブジェクトとして指定します。このプロパティは読み取り専用です。

属性:

GetAccess
public
SetAccess
private
NonCopyable
true

このドキュメント要素のタグ。文字ベクトルまたは string スカラーとして指定します。

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

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

データ型: char | string

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

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

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

  • 'HTML' – レポートの HTML ファイル、イメージ、スタイル シート、および JavaScript ファイルを含む圧縮したファイルとしてパッケージ化した HTML レポート。

  • 'HTML-FILE' – レポートのテキスト、スタイル シート、JavaScript、および base64 で符号化されたイメージを含む単一の HTML ファイルとしての HTML レポート

  • 'PDF' – PDF ファイル

  • 'DOCX'Microsoft Word ドキュメント

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

メソッド

すべて展開する

すべて折りたたむ

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

関数を作成します。

function magic_square_report(square_sizes, report_type)
%MAGIC_SQUARE_REPORT 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:
%
%      magic_square_report([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 文書を作成します。

 magic_square_report([5,8,12],'docx');

バージョン履歴

R2014a で導入