Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

レポーターについて

レポーターは、MATLAB®Report Generator™レポート オブジェクトに追加されると書式設定済みコンテンツを生成する MATLAB オブジェクトです。MATLAB Report Generator には、タイトル ページ、目次、章、サブセクション、図、および MATLAB 変数の値など、共通のレポート コンポーネントを生成するためのレポーターが用意されています。これらのレポーターのコンテンツと外観はカスタマイズできます。独自のレポーターを作成することもできます。組み込みレポート API オブジェクトの一覧については、次の MATLAB コマンドを入力します。

help mlreportgen.report

レポーターと DOM オブジェクト

レポーターに加えて、MATLAB Report Generatorには、レポートのコンテンツを生成するための別の一連のオブジェクトが用意されています。これらのオブジェクトはドキュメント オブジェクト モデル (DOM) オブジェクトです。HTML、Word、およびその他のドキュメント作成ソフトウェアによって使用されるドキュメントのモデルを実装します。モデルは、テキスト文字列、段落、イメージ、およびテーブルなど、ドキュメント内に共通して見つかるオブジェクトの階層としてドキュメントを定義します。DOM API には、これらの基本的なドキュメント オブジェクトを生成するソフトウェアのオブジェクトが含まれます。DOM オブジェクトの一覧については、次の MATLAB コマンドを入力します。

help mlreportgen.dom

一方,レポーターは,タイトルページ,目次,章など,大まかなドキュメント構造を作成します。これらは多くのタイプのドキュメントに見られますが、すべてのタイプに見られるわけではありません。レポーターの利点は、単一のレポーターで DOM オブジェクトを多数必要とするコンテンツを作成できることです。ただし、Report Generator プログラムには一般的に DOM とレポーターの両方のオブジェクトが必要です。たとえば、章のレポーターはレポートの章のタイトルとページ レイアウトを生成しますが、そのコンテンツは生成しません。DOM API には、レポーターのコンテンツの作成に使用できるテキスト、段落、テーブル、リスト、イメージ、およびその他のオブジェクトが用意されています。

次の MATLAB プログラムは、レポーターと DOM の両方のオブジェクトを使用した PDF レポートの作成を示しています。このプログラムは、DOMTextオブジェクトを使用して、章にテキストのブロックを追加します。この例に含まれるその他のオブジェクト (ReportTitlePageTableOfContentsChapter) は、すべてレポーター オブジェクトです。

rpt = mlreportgen.report.Report('myreport','pdf'); append(rpt,mlreportgen.report.TitlePage('Title','My Report',... 'Author','Myself')) append(rpt,mlreportgen.report.TableOfContents) ch = mlreportgen.report.Chapter('Title','Sample Text'); append(ch,mlreportgen.dom.Text... ('Here is sample text using a DOM Text object.')) append(rpt,ch) close(rpt) rptview(rpt)

Title page of the report with the title

Table of contents listing one chapter

Chapter one has the title

レポーター要素

レポーターには一般的に次の要素が含まれます。

  • 外観、固定コンテンツおよび、レポーターで生成される動的コンテンツのホールを定義するテンプレート ドキュメント。レポーターには通常、一連のテンプレート ファイルが、サポートされる次の出力タイプに対して 1 つ用意されています: Word、PDF、および HTML。各テンプレート ファイルには、そのコンテンツを書式設定するレポーターが使用するテンプレートのライブラリが含まれます。たとえば、レポート APITitlePageレポーターは、TitlePageという名前のテンプレートを使用してタイトル ページを書式設定します。TitlePageテンプレートは、そのテンプレート ファイルのテンプレート ライブラリに保存されます。このテンプレートを変更してタイトル ページを再配置したり、タイトル ページにコンテンツを追加することができます。詳細については、テンプレートを参照してください。

  • レポーターによって生成された動的なコンテンツを指定するプロパティ。これらのプロパティはレポーターテンプレートのホールに対応します。レポーターは、対応するプロパティの値でテンプレート ホールを埋めます。

  • レポーターを作成および操作するために使用するレポーターのプロパティとメソッドを定義する MATLAB クラス。レポーターのクラス名は、接頭辞mlreportgen.reportで始まります。たとえば、タイトル ページ レポーターはmlreportgen.report.TitlePageです。スクリプトまたは関数の先頭にこのステートメントを挿入することによって、MATLAB スクリプトまたは関数の接頭辞を省略できます。

    import mlreportgen.report.*
    同様に、import mlreportgen.dom.*を含めることで DOM クラスの省略名を使用できます。

  • レポーター クラスのインスタンスとしてレポーター オブジェクトを作成するコンストラクター メソッド。コンストラクターの名前はクラスの名前と同じです。

  • レポートによって生成されたコンテンツを含む DOM オブジェクト。このオブジェクトはレポーターの実装と呼ばれます。各レポーターには、実装オブジェクト (一般的に DOMDocumentPartオブジェクト) を作成するgetImplメソッドがあります。

MATLAB プログラムでのレポーターの使用

レポート プログラムでコンテンツを生成するには、次の手順に従います。

これらの手順で説明されているプログラムの例は、タイトル ページのみを含むシンプルなドキュメントを作成します。ただし、この手順はレポート全体を作成するためのタスクを示しています。プログラム全体のリストは手順の説明の後に示されます。

レポート オブジェクトの作成

レポート オブジェクト (mlreportgen.report.Report) を作成して、レポートによって生成されたコンテンツを含めます。レポート オブジェクトは、レポーターによって生成されてレポートに追加されるコンテンツを DOMDocumentオブジェクトを使用して保持します。このコードはレポート API パッケージをインポートします。このパッケージでは、コードでクラスの省略名を使用することができます。その後、PDF レポート オブジェクト (rpt) を作成します。

import mlreportgen.report.* rpt = Report('myReport','pdf');

レポーターのインスタンスの作成

レポーター クラスのインスタンスを作成します。つまり、そのコンストラクターを使用してレポーターをインスタンス化します。コンストラクターは作成するレポーター オブジェクトのプロパティを設定することもできます。たとえば、このコードはタイトル ページ レポーター (tp) を作成して、そのTitleAuthorのプロパティを設定します。

tp = TitlePage('Title','My Report','Author','John Smith');

既存レポーターのプロパティの設定

プログラムがレポーターを作成した後にレポーター プロパティを設定するには、プログラムは MATLAB ドット表記を使用します。たとえば、このコードはTitlePageレポーター (tp) のSubtitleおよびPubDateプロパティを設定します。

tp.Subtitle = 'on My Project'; tp.PubDate = date;

レポートへのレポーターの追加

レポーターを使用してコンテンツを生成するには、レポート プログラムではレポート オブジェクトのappendメソッドを使用して、レポート オブジェクトにレポーターを追加しなければなりません。appendメソッドは、レポーターのgetImplメソッドを呼び出すことで機能します。getImplメソッドはレポーターの実装を作成します。その後、appendメソッドは、レポート オブジェクトの実装として機能する DOMDocumentオブジェクトに実装を追加します。appendメソッドを使用して、レポートに DOM オブジェクトを追加することもできます。ただし、レポートに別の DOMDocumentを追加することはできません。

たとえば、このコードはレポート (rpt) にタイトル ページ レポーター (tp) を追加します。

append(rpt,tp)

レポート オブジェクトを閉じる

レポート プログラムがレポートへのコンテンツの追加を終了したら、レポート オブジェクトのcloseメソッドを使用してレポートを閉じなければなりません。レポートを閉じてレポート オブジェクトのコンストラクターで指定された PDF などのタイプのドキュメント ファイルにレポート コンテンツを書き込みます。

close(rpt)

このコードは、レポート用の完全なプログラムです。これにはタイトル ページのみが含まれます。

import mlreportgen.report.* rpt = Report('myReport','pdf'); tp = TitlePage('Title','My Report',... 'Author','John Smith'); tp.Subtitle = 'on My Project'; tp.PubDate = date; append(rpt,tp) close(rpt) rptview(rpt)

Report title page with the title

参考

|||

関連するトピック