ドキュメントテーマの操作
ドキュメントテーマの操作
このガイドでは、Word 文書が他の Office アプリケーションと共有する色とフォントのスキーム(文書テーマ)を、使用して読み取り、カスタマイズする方法を示します。 Theme, ThemeColors, および ThemeFonts in Aspose.Words FOSS for .NET. 文書のテーマとは、オブジェクトモデルの他の場所でテーマ対応の書式設定が参照する、特定の色やフォント名をハードコーディングする代わりに使用されるパレットとフォントの組み合わせです。
テーマオブジェクト
Document.Theme は、ドキュメント用の Theme インスタンスを返します。Theme.Colors は、ドキュメントの 12 色のテーマカラーを保持する ThemeColors オブジェクトです。Theme.MajorFonts と Theme.MinorFonts は、それぞれ見出しと本文のフォントセットを保持する ThemeFonts オブジェクトです。
テーマカラー
ThemeColors 12 個の書き込み可能な Color プロパティ: Dark1, Light1, Dark2, Light2, Accent1 through Accent6, Hyperlink, および FollowedHyperlink. 文書内の他の場所にある書式オブジェクト – Border.ThemeColor, Shading.ForegroundPatternThemeColor / BackgroundPatternThemeColor, Fill.ForeThemeColor / BackThemeColor, Stroke.ForeThemeColor / BackThemeColor, そして Font.ThemeColor – 保持する ThemeColor 列挙型の値 (Dark1, Light1, Dark2, Light2, Accent1-Accent6, Hyperlink, FollowedHyperlink, プラス Text1, Text2, Background1, Background2, そして None) 識別する which テーマカラーのスロットが適用される; 実際の Color そのスロットの値は対応する ThemeColors プロパティがオン Document.Theme.Colors.
テーマフォント
ThemeFonts は、書き込み可能な string プロパティを 3 つ公開します: Latin(ラテン文字用)、EastAsian、および ComplexScript — フォーマットオブジェクトがテーマに委譲する際に、各スクリプトで使用されるフォント名です。Font.ThemeFont、ThemeFontAscii、ThemeFontFarEast、ThemeFontOther、および ThemeFontBi はそれぞれ ThemeFont 列挙型の値(Major、Minor、または None)を保持し、特定のスクリプト範囲に対して、対象の Font オブジェクトが Theme.MajorFonts または Theme.MinorFonts に委譲するかどうかを識別します。
ヒントとベストプラクティス
- ドキュメント全体を個別に更新する代わりに、
Document.Theme.Colorsの該当するThemeColorsプロパティを更新するだけで、テーマ対応のすべての枠線、シェーディング、塗りつぶし、フォントの色を一括で変更できます。 - フォーマットオブジェクトがテーマに委譲すると仮定する前に、そのオブジェクトの
ThemeColorまたはThemeFontプロパティがNoneかどうかを確認してください —Noneは、独自の明示的なColorまたはフォント名を持っていることを意味します。 Theme.MajorFontsは通常、見出しフォントを提供し、Theme.MinorFontsは本文フォントを提供します。これは Word のテーマフォントピッカーと一致しています。
一般的な問題
| 問題 | 原因 | 修正 |
|---|---|---|
Document.Theme.Colors.Accent1 を変更しても、シェイプの塗りつぶしには影響しません | シェイプの Fill.ForeThemeColor は ThemeColor.None であるため、テーマスロットではなく明示的な色が使用されます | Fill.ForeThemeColor を目的の ThemeColor 値に設定すると、テーマに委ねられます |
Font のレンダリングされたフォントが Theme.MajorFonts.Latin と一致しません | Font.ThemeFont(またはスクリプト固有のバリアント)はThemeFont.Noneであるため、フォント自身の名前が代わりに使用されます | 関連する ThemeFont プロパティを Major または Minor に設定してください。 |
FAQ
ドキュメントのテーマカラーはどうやって取得しますか?
Read Document.Theme.Colors、ThemeColors オブジェクトで、12 のテーマ カラー スロットそれぞれに Color プロパティがあります – Dark1、Light1、Dark2、Light2、Accent1-Accent6、Hyperlink、および FollowedHyperlink。
ドキュメントのアクセントカラーを使用されているすべての場所で変更するにはどうすればよいですか?
Document.Theme.Colors.Accent1(または任意のアクセントスロット)を新しい Color に設定します。そのスロットを参照している ThemeColor プロパティを持つすべての書式オブジェクトが変更を受け取ります。
ThemeColors と ThemeColor の違いは何ですか?
ThemeColors(Document.Theme.Colors 上)は、ドキュメントの 12 個の実際の Color 値を保持するオブジェクトです。ThemeColor は、他の場所で使用される列挙型で(Border、Shading、Fill、Stroke、Font)直接色を保存する代わりに名前でそのスロットのいずれかを参照します。
どのテーマフォントを Font オブジェクトが使用するかは、どう設定すればよいですか?
Font.ThemeFont(またはスクリプト固有の ThemeFontAscii/ThemeFontFarEast/ThemeFontOther/ThemeFontBi)を ThemeFont.Major または ThemeFont.Minor に設定します。実際のフォント名は Document.Theme.MajorFonts または MinorFonts から取得されます。
API Reference の概要
| クラス / 列挙型 | 説明 |
|---|---|
Theme | ドキュメントテーマ、Document.Theme経由; MajorFonts、MinorFonts、Colors |
ThemeColors | 12個のテーマColorスロット: Dark1、Light1、Dark2、Light2、Accent1-Accent6、Hyperlink、FollowedHyperlink |
ThemeFonts | スクリプト別テーマフォント名: Latin、EastAsian、ComplexScript |
ThemeColor | テーマカラーのスロットを識別するEnum; Border、Shading、Fill、Stroke、Fontで使用されます |
ThemeFont | Major/Minor テーマフォントの使用を識別するEnum; Fontで使用されます |