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
クラスです。
作成
説明
はテンプレート オブジェクトを作成し、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
で指定されたテンプレートに基づいてテンプレート オブジェクトを作成します。
入力引数
sourceTemplatePath
— 新しいテンプレートのベース
文字ベクトル | string スカラー
新しいテンプレートのベースとして使用するテンプレートへのパス。文字ベクトルまたは string スカラーとして指定します。ソース テンプレートのタイプは、fileType
引数と一致していなければなりません。
プロパティ
CurrentHoleId
— ドキュメントのカレント ホールの ID
''
(既定値) | 文字ベクトル | string スカラー
ドキュメントのカレント ホールの ID。文字ベクトルまたは string スカラーとして指定します。
属性:
SetAccess | private |
Transient | true |
NonCopyable | true |
データ型: char
| string
CurrentHoleType
— カレント ホールのタイプ
''
(既定値) | "Inline"
| "Block"
カレント テンプレート ホールのタイプ。"Inline"
または "Block"
として指定します。
インライン ホールは、段落要素が含むことのできるドキュメント要素 (
Text
、Image
、LinkTarget
、ExternalLink
、InternalLink
、CharEntity
、またはAutoNumber
) を対象とする。ブロック ホールは、
Paragraph
、Table
、OrderedList
、UnorderedList
、DocumentPart
、またはGroup
の要素を含むことができる。
属性:
SetAccess | private |
Transient | true |
NonCopyable | true |
データ型: char
| string
CurrentPageLayout
— このドキュメントの現在のページ レイアウト
[]
(既定値) | mlreportgen.dom.DOCXPageLayout
オブジェクト | mlreportgen.dom.PDFPageLayout
オブジェクト | []
このドキュメントの現在のページ レイアウト。mlreportgen.dom.DOCXPageLayout
オブジェクト、mlreportgen.dom.PDFPageLayout
オブジェクト、または []
として指定します。このプロパティは、Word ドキュメントと PDF ドキュメントに適用されます。Word ドキュメントの場合、この値は現在のページ レイアウトを指定する DOCXPageLayout
オブジェクトになります。PDF ドキュメントの場合、ドキュメントによってページ レイアウトが現在指定されていれば、この値は PDFPageLayout
オブジェクトになります。HTML ドキュメントの場合、この値は常に []
になります。
属性:
SetAccess | private |
Transient | true |
NonCopyable | true |
ForceOverwrite
— 既存の出力ファイルを上書きするオプション
true
(既定値) | false
既存の出力ファイルを上書きするかどうか。true
または false
として指定します。既存の出力ファイルを同じ名前で上書きするには、このプロパティを true
に設定します。このプロパティが false
で、同じ名前の書き込み可能ファイルが存在する場合、このドキュメントを閉じるときにエラーが発生します。既存のファイルが読み取り専用の場合は、このプロパティの設定にかかわらず、このドキュメントを閉じるときにエラーが発生します。
属性:
NonCopyable | true |
データ型: logical
HTMLHeadExt
— HTML ヘッダーのカスタム コンテンツ
''
(既定値) | 文字ベクトル | string スカラー
HTML ヘッダーのカスタム コンテンツ。文字ベクトルまたは string スカラーとして指定します。このプロパティの値は、ドキュメント テンプレートの head セクションで指定されたコンテンツの後、このドキュメントの <head>
要素に対して追加されます。このプロパティは、ドキュメントを開く前にのみ設定します。
属性:
NonCopyable | true |
データ型: char
| string
OpenStatus
— ドキュメント要素が開かれているかどうかのステータス
'unopened'
(既定値) | 'open'
| 'closed'
このドキュメントが開かれているかどうかのステータス。'unopened'
、'open'
、または 'closed'
として指定します。
属性:
SetAccess | private |
Transient | true |
NonCopyable | true |
データ型: char
| string
OutputPath
— 出力ファイルまたはフォルダーのパス
"untitled"
(既定値) | 文字ベクトル | string スカラー
出力ファイルまたはフォルダーのパス。文字ベクトルまたは string スカラーとして指定します。既定値は、現在のフォルダー内の untitled
という名前のファイルまたはフォルダーへのパスです。パスは、"C:/myreports/reportA.docx"
のように、絶対パスで指定できます。また、"reportA"
のように、現在の MATLAB フォルダーからの相対パスで指定することもできます。ファイル拡張子を指定しない場合、DOM はドキュメントの Type
プロパティに基づいて拡張子を追加します。このプロパティは、ドキュメントを開く前にのみ設定できます。
OutputPath
がファイルとフォルダーのどちらのパスを指定するかは、以下の表に示すように、PackageType
プロパティの値によって決まります。
PackageType | OutputPath の値 |
---|---|
"zipped" または "single-file" | zip ファイルまたは単一のファイルのパスと名前 |
"unzipped" | 未圧縮ファイルのフォルダー |
"both" | zip ファイルのパスと名前、および未圧縮ファイルのフォルダー |
メモ
MATLAB® Drive™ などのクラウド ドライブで PDF レポートを生成すると、レポート生成ソフトウェアとクラウド ドライブ同期ソフトウェアとの間でファイルの競合が発生し、エラーとなる可能性があります。このエラーを回避するには、クラウドと同期しないローカル ドライブでレポートを生成します。ローカル ドライブにレポートを生成し、そのレポートをクラウド ドライブにコピーするスクリプトを作成することを検討してください。
属性:
NonCopyable | true |
データ型: char
| string
PackageType
— 生成されるファイルのパッケージ化
"zipped"
(既定値) | "unzipped"
| "both"
| "single-file"
生成されたファイルに使用するパッケージ化。表中のいずれか 1 つを値として指定します。
値 | サポートされているレポート タイプ | 説明 |
---|---|---|
|
|
|
"unzipped" |
|
|
"both" |
| 圧縮した出力と未圧縮の出力を生成します。 |
"single-file" |
| レポートを単一のファイルとして生成します。 |
ヒント
Type
プロパティが "html"
または "html-multipage"
の場合、解凍せずに開くことができる HTML レポートを生成するには、PackageType
を "unzipped"
または "both"
に設定します。生成されたファイルがあるフォルダーで root.html
ファイルを開きます。
属性:
NonCopyable | true |
データ型: char
| string
Stylesheet
— テンプレート オブジェクトに適用するスタイルシート
[]
(既定値) | mlreportgen.dom.TemplateStylesheet
オブジェクト
テンプレートのスタイルシートを表すタイプ mlreportgen.dom.TemplateStylesheet
のオブジェクト。スタイルシートには、段落、リスト、テーブルなどのレポート要素の書式設定に使用できるスタイル定義が含まれています。スタイルは、メインのテンプレート本体、ドキュメント パーツ テンプレート、またはこのテンプレート オブジェクトから生成されたテンプレートを使用する他のドキュメントで使用できます。open
メソッドを使用してこの Template
を開くと、スタイルシート オブジェクトが作成され、この Template
の基となっているテンプレートに存在するスタイルが自動的に設定されます。Stylesheet
プロパティを使用し、既存のスタイルにアクセスして変更し、新しいスタイルを追加します。Template
オブジェクトが閉じられると、スタイルは出力テンプレート パッケージ (HTML、PDF、DOCX) またはテンプレート ドキュメント (HTML ファイル) に書き込まれます。
属性:
SetAccess | private |
NonCopyable | true |
TemplateDocumentParts
— テンプレート オブジェクトで使用するドキュメント パーツ
[]
(既定値) | mlreportgen.dom.TemplateDocumentPart
オブジェクトの配列
テンプレート オブジェクトで使用するドキュメント パーツ。テンプレートに含める mlreportgen.dom.TemplateDocumentPart
オブジェクトの配列として指定します。Template
オブジェクトを閉じると、Report Generator はそれらのドキュメント パーツ テンプレートを出力テンプレート パッケージ (HTML、PDF、DOCX) またはテンプレート ドキュメント (HTML ファイル) に書き込みます。Template
オブジェクトが使用しているテンプレート ドキュメントにドキュメント パーツが含まれている場合、Report Generator は、Template
オブジェクトが開かれたときに、既存のドキュメント パーツの DOM 表現を含む TemplateDocumentPart
オブジェクトをこのプロパティに自動的に取り込みます。
TemplatePath
— 使用するテンプレートのパス
文字ベクトル | string スカラー
使用するテンプレートの絶対パス (必要に応じてファイル拡張子を含めることができる)。文字ベクトルまたは string スカラーとして指定します。ファイル拡張子は、次のいずれかの値になります。
拡張子 | ファイル タイプ |
---|---|
.htmtx | 圧縮 HTML |
.dotx | Microsoft Word |
.htmt | 単一ファイルの HTML |
.pdfx |
メモ
ドキュメントを出力用に開いた後、このプロパティを変更することはできません。
属性:
NonCopyable | true |
データ型: char
| string
TitleBarText
— HTML ブラウザーのタイトル バーのテキスト
''
(既定値) | 文字ベクトル | string スカラー
HTML ブラウザーのタイトル バーのテキスト。文字ベクトルまたは string スカラーとして指定します。HTML ドキュメントの場合、このプロパティは、このドキュメントを表示するのに使用されるブラウザーのタイトル バーに表示されるテキストを指定します。Word ドキュメントと PDF ドキュメントの場合、このプロパティは無視されます。
このプロパティは、ドキュメントを開く前に設定します。
属性:
NonCopyable | true |
データ型: char
| string
Type
— 出力ファイル タイプ
"html"
(既定値) | "docx"
, | "html-file"
| "html-multipage"
| "pdf"
出力ファイル タイプ。次の値のいずれかとして指定します。
値 | ファイル タイプ |
---|---|
"docx" | Microsoft Word |
"html" | HTML ドキュメントのテキスト、イメージ、スタイル シート、および JavaScript® ファイルを含む圧縮または未圧縮のフォルダーとしての HTML 出力 |
"html-file" | レポート用にテキスト、スタイル シート、JavaScript、およびイメージを含む単一のファイルで構成される HTML 出力 |
"html-multipage" (R2024a 以降) | 複数のページに分割された HTML ドキュメントのテキスト、イメージ、スタイル シート、および JavaScript ファイルを含む圧縮または未圧縮のフォルダーとしての HTML 出力 |
"pdf" |
TemplatePath
プロパティを使用してテンプレートを指定する場合、テンプレートは Type
プロパティと一致するものでなければなりません。
属性:
NonCopyable | true |
データ型: char
| string
Children
— mlreportgen.dom.Template
オブジェクトの子
ドキュメント要素オブジェクトの配列
mlreportgen.dom.Template
オブジェクトの子。ドキュメント要素オブジェクトの配列として指定します。このプロパティには、append
メソッドを使用して追加されたドキュメント要素オブジェクトが含まれます。
属性:
SetAccess | private |
NonCopyable | true |
Tag
— mlreportgen.dom.Template
オブジェクトのタグ
文字ベクトル | string スカラー
mlreportgen.dom.Template
オブジェクトのタグ。文字ベクトルまたは string スカラーとして指定します。DOM API は、このオブジェクトを作成するときに、セッション固有タグを生成します。生成されるタグの形式は CLASS:ID
という形式です。ここで、CLASS
はオブジェクト クラスです。ID
はオブジェクトの Id
プロパティの値です。独自のタグ値を指定すると、ドキュメント生成中に問題が発生したときにどこを確認すればよいかを特定しやすくなります。
属性:
NonCopyable | true |
データ型: char
| string
Id
— mlreportgen.dom.Template
オブジェクトの識別子
文字ベクトル | string スカラー
mlreportgen.dom.Template
オブジェクトのオブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。DOM API は、ドキュメント要素オブジェクトの作成時にセッション固有識別子を生成します。Id
には独自の値を指定できます。
属性:
NonCopyable | true |
データ型: char
| string
メソッド
パブリック メソッド
Template
メソッドは、対応する Document
メソッドを使用するのと同じ方法で使用します。
メソッド | 目的 |
---|---|
ドキュメント要素をドキュメントに追加します。 | |
このドキュメントを閉じます。ドキュメントが開かれていない場合または先に閉じられた場合、ドキュメントを閉じることはできません。 | |
既定のテンプレートを作成します。 | |
ドキュメント ホールを埋めます。 | |
ドキュメントのコア プロパティを取得します。 | |
ドキュメントのイメージ ディレクトリを取得します。 | |
ドキュメントの生成されたイメージ名の接頭辞を取得します。 | |
出力ドキュメントのメイン パーツの相対パスを取得します。 | |
出力ドキュメントのメイン パーツの絶対パスを取得します。 | |
次のテンプレート ホールに移動します。 | |
このドキュメントを開きます。ドキュメントが先に開かれた場合または先に閉じられた場合、ドキュメントを開くことはできません。 | |
ファイルをドキュメントの 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)
バージョン履歴
R2014b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)