mlreportgen.dom.Template クラス
名前空間: mlreportgen.dom
スーパークラス: mlreportgen.dom.Document
レポート テンプレート オブジェクトの作成
説明
mlreportgen.dom.Template クラスのオブジェクトを使用して、レポート テンプレートを作成します。たとえば、Text オブジェクト、Paragraph オブジェクト、または Image オブジェクトなどの DOM コンテンツと TemplateHole オブジェクトを mlreportgen.dom.Template オブジェクトに追加して、生成コンテンツ用のホールをもつ固定コンテンツを含むテンプレートを作成できます。
メモ
Microsoft® Word for Mac は、DOM API テンプレートのホールの作成をサポートしていません。Mac で Word ドキュメント生成用の Word テンプレートを作成するには、以下のいずれかの方法を使用します。
mlreportgen.dom.Templateオブジェクトを作成し、mlreportgen.dom.TemplateHoleクラスを使用してホールを追加する。Windows® で Word を使用してテンプレートを作成し、そのテンプレートを Mac にコピーする。
mlreportgen.dom.Template クラスは handle クラスです。
作成
説明
はテンプレート オブジェクトを作成し、TemplatePath プロパティを templateObj = mlreportgen.dom.TemplateUntitled.htmtx に設定します。
はテンプレート オブジェクトを作成し、TemplatePath プロパティを templateObj = mlreportgen.dom.Template(templatePath)templatePath に設定します。templatePath にファイル拡張子が含まれていない場合、Type プロパティは既定値の HTML に設定されます。
は、さらに Type プロパティを templateObj = mlreportgen.dom.Template(templatePath,fileType)fileType に設定します。templatePath にファイル拡張子が含まれる場合、fileType は templatePath で指定されたファイル拡張子と一致していなければなりません。
は、templateObj = mlreportgen.dom.Template(templatePath,fileType,sourceTemplatePath)sourceTemplatePath で指定されたテンプレートに基づいてテンプレート オブジェクトを作成します。
入力引数
新しいテンプレートのベースとして使用するテンプレートへのパス。文字ベクトルまたは string スカラーとして指定します。ソース テンプレートのタイプは、fileType 引数と一致していなければなりません。
プロパティ
ドキュメントのカレント ホールの ID。文字ベクトルまたは string スカラーとして指定します。
属性:
GetAccess | public |
SetAccess | private |
Transient | true |
NonCopyable | true |
データ型: char | string
カレント テンプレート ホールのタイプ。"Inline" または "Block" として指定します。
インライン ホールは、段落要素が含むことのできるドキュメント要素 (
Text、Image、LinkTarget、ExternalLink、InternalLink、CharEntity、またはAutoNumber) を対象とする。ブロック ホールは、
Paragraph、Table、OrderedList、UnorderedList、DocumentPart、または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 |
既存の出力ファイルを上書きするかどうか。logical の 1 (true) または 0 (false) として指定します。指定内容は以下のとおりです。
1(true) — 同じ名前の既存の出力ファイルを上書きする。0(false) — 同じ名前の既存の出力ファイルを上書きしない。
このプロパティが false で、同じ名前の書き込み可能ファイルが存在する場合、このドキュメントを閉じるときにエラーが発生します。既存のファイルが読み取り専用の場合は、このプロパティの設定にかかわらず、このドキュメントを閉じるときにエラーが発生します。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
データ型: logical
HTML ヘッダーのカスタム コンテンツ。文字ベクトルまたは string スカラーとして指定します。このプロパティの値は、ドキュメント テンプレートの head セクションで指定されたコンテンツの後、このドキュメントの <head> 要素に対して追加されます。このプロパティは、ドキュメントを開く前にのみ設定します。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
データ型: char | string
このドキュメントが開かれているかどうかのステータス。"unopened"、"open"、または "closed" として指定します。
属性:
GetAccess | public |
SetAccess | private |
Transient | true |
NonCopyable | true |
データ型: char | string
出力ファイルまたはフォルダーのパス。文字ベクトルまたは string スカラーとして指定します。既定値は、現在のフォルダー内の untitled という名前のファイルまたはフォルダーへのパスです。パスは、"C:/myreports/reportA.docx" のように、絶対パスで指定できます。また、"reportA" のように、現在の MATLAB フォルダーからの相対パスで指定することもできます。ファイル拡張子を指定しない場合、DOM はドキュメントの Type プロパティに基づいて拡張子を追加します。このプロパティは、ドキュメントを開く前にのみ設定できます。
OutputPath がファイルとフォルダーのどちらのパスを指定するかは、以下の表に示すように、PackageType プロパティの値によって決まります。
PackageType | OutputPath の値 |
|---|---|
"zipped" または "single-file" | zip ファイルまたは単一のファイルのパスと名前 |
"unzipped" | 未圧縮ファイルのフォルダー |
"both" | zip ファイルのパスと名前、および未圧縮ファイルのフォルダー |
メモ
MATLAB® Drive™ や Microsoft OneDrive™ などのクラウド ドライブで PDF レポートを生成すると、レポート生成ソフトウェアとクラウド ドライブ同期ソフトウェアとの間でファイルの競合が発生し、次のようなエラーが発生する可能性があります。
Error closing document package: Could not commit changes: removeAll failed: fl:filesystem:AccessDenied: C:\Users\jdoe\OneDrive\Documents\MATLAB\reports\temp_FO\stylesheets: Permission denied.
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
データ型: char | string
生成されたファイルに使用されるパッケージ化。次の値のいずれかとして指定します。
| 値 | サポートされているレポート タイプ | 説明 |
|---|---|---|
|
|
|
"unzipped" |
|
|
"both" |
| 圧縮した出力と未圧縮の出力を生成します。 |
"single-file" |
| レポートを単一のファイルとして生成します。 |
ヒント
Type プロパティが "html" または "html-multipage" (R2024a 以降) の場合、解凍せずに開くことができる HTML レポートを生成するには、PackageType を "unzipped" または "both" に設定します。生成されたファイルがあるフォルダーで root.html ファイルを開きます。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
データ型: char | string
テンプレートのスタイルシートを表すタイプ mlreportgen.dom.TemplateStylesheet のオブジェクト。スタイルシートには、段落、リスト、テーブルなどのレポート要素の書式設定に使用できるスタイル定義が含まれています。スタイルは、メインのテンプレート本体、ドキュメント パーツ テンプレート、またはこのテンプレート オブジェクトから生成されたテンプレートを使用する他のドキュメントで使用できます。open メソッドを使用してこの Template を開くと、スタイルシート オブジェクトが作成され、この Template の基となっているテンプレートに存在するスタイルが自動的に設定されます。Stylesheet プロパティを使用し、既存のスタイルにアクセスして変更し、新しいスタイルを追加します。Template オブジェクトが閉じられると、スタイルは出力テンプレート パッケージ (HTML、PDF、DOCX) またはテンプレート ドキュメント (HTML ファイル) に書き込まれます。
属性:
GetAccess | public |
SetAccess | private |
NonCopyable | true |
テンプレート オブジェクトで使用するドキュメント パーツ。テンプレートに含める mlreportgen.dom.TemplateDocumentPart オブジェクトの配列として指定します。Template オブジェクトを閉じると、Report Generator はそれらのドキュメント パーツ テンプレートを出力テンプレート パッケージ (HTML、PDF、DOCX) またはテンプレート ドキュメント (HTML ファイル) に書き込みます。Template オブジェクトが使用しているテンプレート ドキュメントにドキュメント パーツが含まれている場合、Report Generator は、Template オブジェクトが開かれたときに、既存のドキュメント パーツの DOM 表現を含む TemplateDocumentPart オブジェクトをこのプロパティに自動的に取り込みます。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
使用するテンプレートの絶対パス (必要に応じてファイル拡張子を含めることができる)。文字ベクトルまたは string スカラーとして指定します。ファイル拡張子は、次のいずれかの値になります。
| 拡張子 | ファイル タイプ |
|---|---|
.htmtx | 圧縮 HTML |
.dotx | Microsoft Word |
.htmt | 単一ファイルの HTML |
.pdfx |
メモ
ドキュメントを出力用に開いた後、このプロパティを変更することはできません。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
データ型: char | string
HTML ブラウザーのタイトル バーのテキスト。文字ベクトルまたは string スカラーとして指定します。HTML ドキュメントの場合、このプロパティは、このドキュメントを表示するのに使用されるブラウザーのタイトル バーに表示されるテキストを指定します。Word ドキュメントと PDF ドキュメントの場合、このプロパティは無視されます。
このプロパティは、ドキュメントを開く前に設定します。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
データ型: char | string
出力ファイル タイプ。次の値のいずれかとして指定します。
| 値 | ファイル タイプ |
|---|---|
"docx" | Microsoft Word |
"html" | HTML ドキュメントのテキスト、イメージ、スタイル シート、および JavaScript® ファイルを含む圧縮または未圧縮のフォルダーとしての HTML 出力 |
"html-file" | レポート用にテキスト、スタイル シート、JavaScript、およびイメージを含む単一のファイルで構成される HTML 出力 |
"html-multipage" (R2024a 以降) | 複数のページに分割された HTML ドキュメントのテキスト、イメージ、スタイル シート、および JavaScript ファイルを含む圧縮または未圧縮のフォルダーとしての HTML 出力 |
"pdf" | |
"pdfa" (R2025a 以降) | PDF/A |
TemplatePath プロパティを使用してテンプレートを指定する場合、テンプレートは Type プロパティと一致するものでなければなりません。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
データ型: char | string
このオブジェクトの子。ドキュメント要素オブジェクトの配列として指定します。このプロパティには、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
メソッド
メソッド | 目的 |
|---|---|
|
入力引数
戻り値
詳細については、 |
このテンプレートを閉じる メモ テンプレートが開かれていない場合または先に閉じられた場合、テンプレートを閉じることはできません。
| |
既定のテンプレートを作成する | |
ドキュメント ホールを埋める | |
ドキュメントのコア プロパティを取得する | |
ドキュメントのイメージ ディレクトリを取得する | |
ドキュメントの生成されたイメージ名の接頭辞を取得する | |
出力ドキュメントのメイン パーツの相対パスを取得する | |
出力ドキュメントのメイン パーツの絶対パスを取得する | |
次のテンプレート ホールに移動する | |
このドキュメントを開きます。ドキュメントが先に開かれた場合または先に閉じられた場合、ドキュメントを開くことはできません。 | |
ファイルをドキュメントの OPC パッケージに追加する | |
ドキュメント要素のコア プロパティを設定する |
例
この例では、タイトルのホールと作成者のホールをもつテンプレートを作成します。変数 type の値を変更して、他のタイプのテンプレートを作成できます。
テンプレートの作成
mlreportgen.dom 名前空間をインポートして、オブジェクトのコンストラクターとメソッドを呼び出すときに完全修飾名を含める必要がないようにします。
import mlreportgen.dom.*;テンプレートのタイプを指定して、テンプレート オブジェクトを作成します。
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)
詳細
以下の DOM オブジェクトを mlreportgen.dom.Template に追加できます。
以下の MATLAB データ型を mlreportgen.dom.Template オブジェクトに追加できます。
文字配列 —
mlreportgen.dom.Textオブジェクトを追加して返すstring スカラー —
mlreportgen.dom.Textオブジェクトを追加して返す数値変数 —
mlreportgen.dom.Numberオブジェクトを追加して返すlogical 変数 — 値が
1または0のmlreportgen.dom.Numberオブジェクトを追加して返すdouble 値または string からなる水平方向の 1 次元配列 —
mlreportgen.dom.UnorderedListオブジェクトを追加して返すdouble 値または string の 2 次元配列 —
mlreportgen.dom.Tableオブジェクトを追加して返すMATLAB table —
mlreportgen.dom.MATLABTableオブジェクトを追加して返す
バージョン履歴
R2014b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)