Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

mlreportgen.dom.Template クラス

名前空間: mlreportgen.dom
スーパークラス: mlreportgen.dom.Document

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

説明

レポート テンプレートを作成するには、mlreportgen.dom.Template オブジェクトを使用します。たとえば、Text オブジェクト、Paragraph オブジェクト、または Image オブジェクトなどの DOM コンテンツと TemplateHole オブジェクトを Template オブジェクトに追加して、生成コンテンツ用のホールをもつ固定コンテンツを含むテンプレートを作成できます。

メモ

Microsoft® Word for Mac は、DOM API テンプレートのホールの作成をサポートしていません。Mac で Word ドキュメント生成用の Word テンプレートを作成する必要がある場合は、DOM API を使用してテンプレートを作成できます。Template オブジェクトを作成し、mlreportgen.dom.TemplateHole を使用してホールを追加します。あるいは、Word を使用してテンプレートを作成し、そのテンプレートを Mac にコピーします。

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

作成

説明

templateObj = mlreportgen.dom.Template() はテンプレート オブジェクトを作成し、TemplatePath プロパティを Untitled.htmtx に設定します。

templateObj = mlreportgen.dom.Template(templatePath) はテンプレート オブジェクトを作成し、TemplatePath プロパティを templatePath に設定します。templatePath にファイル拡張子が含まれていない場合、Type プロパティは既定値の HTML に設定されます。

templateObj = mlreportgen.dom.Template(templatePath,fileType) は、さらに Type プロパティを fileType に設定します。templatePath にファイル拡張子が含まれる場合、fileTypetemplatePath で指定されたファイル拡張子と一致していなければなりません。

templateObj = mlreportgen.dom.Template(templatePath,fileType,sourceTemplatePath) は、sourceTemplatePath で指定されたテンプレートに基づいてテンプレート オブジェクトを作成します。

入力引数

すべて展開する

新しいテンプレートのベースとして使用するテンプレートへのパス。string スカラーまたは文字ベクトルとして指定します。ソース テンプレートのタイプは、fileType 引数と一致していなければなりません。

プロパティ

すべて展開する

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

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

データ型: char

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

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

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

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

同じ名前の既存の出力ファイルを上書きするには、このプロパティを true に設定します。このプロパティが false で、同じ名前の書き込み可能ファイルが存在する場合、このテンプレートを閉じようと (書き込もうと) するときにエラーが発生します。既存のファイルが読み取り専用の場合は、このプロパティの設定にかかわらず、このドキュメントを閉じるときにエラーが発生します。

データ型: logical

HTML ヘッダーのカスタム コンテンツ。文字ベクトルとして指定します。

データ型: char

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

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

データ型: char | string

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

出力ファイルまたはフォルダーのパス。文字ベクトルとして指定します。ファイル拡張子を指定しない場合、DOM はドキュメント形式に基づいて拡張子を追加します。このプロパティは、ドキュメントを開く前にのみ設定できます。

出力を圧縮なしでパッケージ化する場合、パスは出力ファイルのフォルダーを指定します。既定は現在のフォルダーです。

データ型: char

生成される出力ファイルのパッケージ化。次の値のいずれかとして指定します。

  • 'zipped' — Word、PDF、およびマルチファイル HTML の出力にのみ適用されます。

  • 'unzipped' — Word、PDF、およびマルチファイル HTML の出力にのみ適用されます。

  • 'both' — Word、PDF、およびマルチファイル HTML の出力にのみ適用されます。

  • 'single-file' — レポートを単一のファイルとして作成します。この値は、ドキュメントの Type プロパティを 'html-file' に設定した場合に表示されます。この値を自分で設定または変更することはできません。

圧縮ありでパッケージ化する場合、ドキュメント出力は、OutputPath プロパティで指定された場所にある zip ファイルになります。zip ファイルには、ドキュメント タイプに一致する拡張子 (Word 出力の場合は docx、PDF 出力の場合は pdftx、HTML 出力の場合は htmtx) が付いています。たとえば、ドキュメント タイプが docx であり、OutputPaths:\docs\MyDoc であれば、その出力は s:\docs\MyDoc.docx という名前の zip ファイルにパッケージ化されます。

圧縮なしでパッケージ化する場合、ドキュメント出力は、OutputPath プロパティのルート ファイル名をもつフォルダーに格納されます。たとえば、OutputPaths:\docs\MyDoc であれば、出力フォルダーは s:\docs\MyDoc となります。

PackageTypeboth に設定すると、レポートを生成する際、圧縮した出力と未圧縮の出力が生成されます。

データ型: char

このドキュメントを識別するタグ。タグの形式は CLASS:ID です。ここで、CLASS はドキュメント クラス、ID はオブジェクトの Id プロパティの値です。

独自のタグ値を指定する理由の例としては、ドキュメントの生成中に問題が発生した箇所の特定が容易になるということがあります。

テンプレート オブジェクトで使用するドキュメント パーツ。テンプレートに含める mlreportgen.dom.TemplateDocumentPart オブジェクトの配列として指定します。Template オブジェクトを閉じると、Report Generator はそれらのドキュメント パーツ テンプレートを出力テンプレート パッケージ (HTML、PDF、DOCX) またはテンプレート ドキュメント (HTML ファイル) に書き込みます。Template オブジェクトが使用しているテンプレート ドキュメントにドキュメント パーツが含まれている場合、Report Generator は、Template オブジェクトが開かれたときに、既存のドキュメント パーツの DOM 表現を含む TemplateDocumentPart オブジェクトをこのプロパティに自動的に取り込みます。

作成するテンプレートの絶対パス。string スカラーまたは文字ベクトルとして指定します。必要に応じてファイル拡張子を含めることができます。ファイル拡張子は、次のいずれかの値になります。

拡張子ファイル タイプ
.htmtx

圧縮 HTML

.docx

Microsoft Word

.htmt

単一ファイルの HTML

.pdf

PDF

データ型: string | char

HTML ドキュメントの場合、このプロパティは、このドキュメントを表示するのに使用されるブラウザーのタイトル バーに表示されるテキストを指定します。Word ドキュメントと PDF ドキュメントの場合、このプロパティは無視されます。

このプロパティは、出力のドキュメントを開く前に設定します。

データ型: char

出力ファイル タイプ。次の値のいずれかをもつ string スカラーまたは文字ベクトルとして指定します。

ファイル タイプ
"htmtx"

圧縮 HTML

"docx"

Microsoft Word

"html"

単一ファイルの HTML

"pdf"

PDF

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

  • 'docx' — Word 出力

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

  • 'pdf' — PDF 出力

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

データ型: string | char

メソッド

すべて展開する

すべて折りたたむ

タイトルのホールと作成者のホールをもつテンプレートを作成し、各ホールにコンテンツを追加します。

テンプレートの作成

mlreportgen.dom パッケージをインポートして、オブジェクトのコンストラクターとメソッドを呼び出すときにパッケージ名を含める必要がないようにします。

import mlreportgen.dom.*;

テンプレートのタイプを指定して、テンプレート オブジェクトを作成します。別のタイプのテンプレートを作成するには、変数 type の値を変更します。

type = "docx";
t = Template("mytemplate",type);

テンプレートにタイトル ホールを追加し、Title スタイルを適用します。

hole = append(t,TemplateHole("TITLE"));
hole.Description = ("Title Description");
hole.DefaultHoleStyleName = "Title";

定型文テキストを含む段落を追加し、Subtitle スタイルを適用します。

p = Paragraph("Author: ");
p.StyleName = "Subtitle";

段落を配置し、テキスト内の空白を維持します。

p.Style = {OuterMargin("0","0","1in","1in")};
p.WhiteSpace = "preserve";

段落にインライン ホールを追加します。

hole = append(p,TemplateHole("AUTHOR"));
append(t,p);

作成したテンプレート オブジェクトを閉じます。

close(t);

テンプレートの使用

テンプレート mytemplate を使用するドキュメント TitleAuthor を作成します。

rpt = Document("TitleAuthor",type,"mytemplate");
open(rpt);

ホールを循環するループを作成し、各ホールにコンテンツを追加します。

while(~strcmp(rpt.CurrentHoleId,"#end#"))
    switch(rpt.CurrentHoleId)
        case "TITLE"
            append(rpt,Paragraph("This Is My Title"));
        case "AUTHOR"
            append(rpt,"My Name");
    end
    
    moveToNextHole(rpt);
end

レポートを生成して表示します。

close(rpt);
rptview(rpt.OutputPath)

バージョン履歴

R2014b で導入