配布資料マスター スライドを操作する
このトピックでは、Open XML SDK for Office HandoutMaster クラスと、Open XML ファイル形式 PresentationML スキーマとの関係について説明します。 PresentationML ドキュメントを構成するパーツと要素の全体的な構造の詳細については、「 PresentationML ドキュメントの構造」を参照してください。
PresentationML の配布資料マスター スライド
ISO/IEC 29500 仕様で、Open XML PresentationML の PresentationML ドキュメントの配布資料マスター スライドを表すための <handoutMaster/>
要素は次のように記述されています。
この要素は、配布資料マスター スライドのインスタンスを指定するものです。 配布資料マスター スライド内には、配布資料スライド内のすべてのオブジェクトおよびオブジェクトに対応する書式設定を記述するすべての要素が含まれます。 配布資料マスター スライド内の cSld 要素は、図形および図形に添付されるテキスト本体などの、一般的な要素を指定します。 配布資料マスター スライド内には他のプロパティもありますが、cSld で handoutMaster スライドの本来の目的はほぼ達成されます。
© ISO/IEC 29500: 2016
次の表は、配布資料マスター スライドとそれらに対応する Open XML SDK クラスを操作するときに使用される <handoutMaster/>
要素の子要素の一覧です。
PresentationML 要素 | Open XML SDK クラス |
---|---|
<ClrMap/> |
ColorMap |
<cSld/> |
CommonSlideData |
<extLst/> |
ExtensionListWithModification |
<hf/> |
HeaderFooter |
OPEN XML SDK HandoutMaster クラス
Open XML SDK HandoutMaster
クラスは、PresentationML ドキュメントの Open XML ファイル形式スキーマで定義されている <handoutMaster/>
要素を表します。 PresentationML ドキュメント内の個々の<handoutMaster/>
要素を操作するには、HandoutMaster
クラスを使用します。
HandoutMaster
クラスに一般的に関連付けられているクラスを次のセクションに示します。
ColorMap クラス
ColorMap
クラスは、<ClrMap/>
要素に対応します。
ISO/IEC 29500 仕様の次の情報では、<ClrMap/>
要素について説明します。
この要素は、配色定義を別の配色定義に変換するマッピング レイヤーを指定するものです。 各属性は、このマスター内で参照できる色の名前を表し、その値がテーマ内の対応する色になります。
例: スライド マスターに適用される次の色マッピングを考察してください。
<p:clrMap bg1="dk1" tx1="lt1" bg2="dk2" tx2="lt2" accent1="accent1"
accent2="accent2" accent3="accent3" accent4="accent4"
accent5="accent5"
accent6="accent6" hlink="hlink" folHlink="folHlink"/>
CommonSlideData クラス
CommonSlideData
クラスは、<cSld/>
要素に対応します。
ISO/IEC 29500 仕様の次の情報では、<cSld/>
要素について説明します。
この要素は、すべてのスライドの種類に関連する、スライド情報の種類のコンテナーを指定します。 すべてのスライドは、スライドの種類に依存しないプロパティの共通セットを共有します。特定のスライドのこれらのプロパティの説明は、スライドの <cSld/>
コンテナー内に格納されます。 親要素によって示されるスライドの種類に固有のスライド データは、別の場所に保存されます。
<cSld/>
の実際のデータには、特定の親スライドだけが記述されています。保存されているのは、すべてのスライドに共通する情報の種類だけです。
ExtensionListWithModification クラス
ExtensionListWithModification
クラスは、<extLst/>
要素に対応します。 以下の情報を参照してください。
specification では、 <extLst/>
要素が導入されています。
要素タイプ <ext/>
のすべての将来的な拡張が定義された、修正可能な拡張リストを指定します。
拡張リストは、対応する将来的な拡張と共に、PresentationML フレームワークの格納能力を拡張するために使用されます。 これにより、さまざまな新たな種類のデータをこのフレームワークにネイティブに格納できます。
注:
この extLst 要素を使用すると、生成元アプリケーションではこの拡張プロパティが変更されたかどうかを格納できます。
HeaderFooter クラス
HeaderFooter
クラスは、<hf/>
要素に対応します。
ISO/IEC 29500 仕様の次の情報では、<hf/>
要素について説明します。
この要素は、スライドのヘッダーおよびフッター情報を指定します。 ヘッダーおよびフッターは、日時、スライド番号、ユーザー設定のヘッダーおよびフッター テキストなど、すべてのスライドおよびスライドの種類で一貫している必要がある、テキストのプレースホルダーで構成されています。
HandoutMaster クラスの使用
次の Open XML SDK コード サンプルに示すように、 HandoutMaster
クラスのすべてのインスタンスは、配布資料マスター パーツ、PresentationML プレゼンテーション ファイル パッケージの部分の 1 つ、配布資料を含むプレゼンテーション ファイルに必要な部分を表す HandoutMasterPart クラスのインスタンスに関連付けられます。
したがって、<handoutMaster/>
要素を表す HandoutMaster
クラスは、<handoutMaster/>
要素の子要素を表す一連の他のクラスにも関連付けられます。 次のコード サンプルに示すように、これらのクラスの中には、 CommonSlideData
クラス、 ColorMap
クラス、 ShapeTree クラス、 Shape クラスがあります。
Open XML SDK コード例
次のメソッドは、新しい配布資料マスター パーツを既存のプレゼンテーションに追加し、新しい配布資料マスター パーツに Open XML SDK HandoutMaster
クラスのインスタンスを作成します。
HandoutMaster
クラス コンストラクターは、CommonSlideData
クラスと ColorMap
クラスのインスタンスを作成します。
CommonSlideData
クラス コンストラクターは、ShapeTree クラスのインスタンスを作成します。そのコンストラクターによって、NonVisualGroupShapeProperties クラスのインスタンス、GroupShapeProperties クラスのインスタンス、Shape クラスのインスタンスなどの追加のクラス インスタンスが作成されます。
コード内の文字 P
で表される名前空間は、 名前空間です。
static HandoutMasterPart CreateHandoutMasterPart(PresentationPart presentationPart)
{
HandoutMasterPart handoutMasterPart1 = presentationPart.AddNewPart<HandoutMasterPart>();
handoutMasterPart1.HandoutMaster = new HandoutMaster(
new CommonSlideData(
new ShapeTree(
new P.NonVisualGroupShapeProperties(
new P.NonVisualDrawingProperties() { Id = (UInt32Value)1U, Name = "" },
new P.NonVisualGroupShapeDrawingProperties(),
new ApplicationNonVisualDrawingProperties()),
new GroupShapeProperties(new TransformGroup()),
new P.Shape(
new P.NonVisualShapeProperties(
new P.NonVisualDrawingProperties() { Id = (UInt32Value)2U, Name = "Title 1" },
new P.NonVisualShapeDrawingProperties(new ShapeLocks() { NoGrouping = true }),
new ApplicationNonVisualDrawingProperties(new PlaceholderShape())),
new P.ShapeProperties(),
new P.TextBody(
new BodyProperties(),
new ListStyle(),
new Paragraph(new EndParagraphRunProperties() { Language = "en-US" }))))),
new P.ColorMap()
{
Background1 = D.ColorSchemeIndexValues.Light1,
Text1 = D.ColorSchemeIndexValues.Dark1,
Background2 = D.ColorSchemeIndexValues.Light2,
Text2 = D.ColorSchemeIndexValues.Dark2,
Accent1 = D.ColorSchemeIndexValues.Accent1,
Accent2 = D.ColorSchemeIndexValues.Accent2,
Accent3 = D.ColorSchemeIndexValues.Accent3,
Accent4 = D.ColorSchemeIndexValues.Accent4,
Accent5 = D.ColorSchemeIndexValues.Accent5,
Accent6 = D.ColorSchemeIndexValues.Accent6,
Hyperlink = D.ColorSchemeIndexValues.Hyperlink,
FollowedHyperlink = D.ColorSchemeIndexValues.FollowedHyperlink
});
return handoutMasterPart1;
}