ドキュメント出力内容のカスタマイズ
プレビュー公開
本機能および本機能で利用する API は先行公開しているものです。 現時点で品質保証しておりませんので、ご利用される場合はユーザー様の責任でご利用ください。 また、これらの仕様は予告なく変更する場合がありますのでご了承ください。
概要
Next Design に標準搭載されている ドキュメント出力機能について下記のようなカスタマイズができます。
- ドキュメント出力しない対象を指定できる。
- ドキュメント中に任意の見出しやキャプションなどを追加できる。
- ビューの出力順序を任意に変更できる。
- モデルナビゲータのモデルの並び順と異なる順序で出力できる。
ドキュメント出力のカスタマイズ
IApplication.DocumentGeneratorCustomization.RegisterConfig()
で設定オブジェクトであるDocumentGenerationConfigs
を登録することにより挙動をカスタマイズできます。
ドキュメント出力をカスタマイズするには、下記2つの方法があります。
- オプション設定
DocumentGenerationConfigs
のオプション設定を変更することで、組み込みのドキュメント生成の挙動をカスタマイズできます。
- コールバック処理
DocumentGenerationConfigs
にコールバック処理を登録します。ドキュメント生成における様々なタイミングにコールバック処理を登録できるため、任意に出力結果をカスタマイズできます。- コンテンツ生成後のタイミングで、出力するコンテンツを追加、削除、変更できます。
- コンテンツ書き込み前後のタイミングで、Word、Htmlの出力内容を制御できます。
オプション設定
DocumentGenerationConfigs
の下記オプション設定を変更することで、ドキュメント生成の挙動をカスタマイズできます。
API名 | 説明 | 設定できる値 | 対応対象 |
---|---|---|---|
TemplateFilePath | 出力に利用するテンプレートのファイルパスを指定できます。 | 任意のファイルのパス | Wordのみ |
OrderByViewDefinition | ビューの出力順をビュー定義順にするかを取得または設定します。 | true : ビュー定義の順に出力します。false : ビュー定義の順とはせず、ダイアグラム・シーケンス図を先に出力します。 | Wordのみ |
AutoFitTables | テーブルの列幅を自動調整する方法を取得または設定します。nullの場合は、自動調整しません。 | AutoFitBehavior.AutoFitToContents : 列幅を文字列の幅に合わせます。 AutoFitBehavior.AutoFitToWindow : 列幅をウィンドウサイズに合わせます。 | Wordのみ |
実装例
// 例:オプション設定で出力挙動をカスタマイズします
public class DocumentExprotSample : IExtension
{
// エクステンション活性化時の処理です
public void Activate(IContext context)
{
// ドキュメント出力をカスタマイズします
var app = context.App;
app.DocumentGeneratorCustomization.RegisterConfig(this, context =>
{
// 設定オブジェクトを生成します
var config = new DocumentGenerationConfigs();
if (context.DocumentFormat == "word")
{
// Word出力の場合、`GetWordOptions()`でオプションを取得します
var option = config.GetWordOptions();
// 例:出力するWordのテンプレートファイルを指定します
var templateFilePath = Path.Combine("任意のパス", "CustomizeTemplate.dotx");
option.TemplateFilePath = templateFilePath;
// 例:出力されるビューの順を変更します
option.OrderByViewDefinition = false;
// 例:テーブルの列幅の自動調整を変更します
option.AutoFitTables = AutoFitBehavior.AutoFitToWindow;
}
return config;
});
}
}