ドキュメントテーマの操作

ドキュメントテーマの操作

ドキュメントテーマの操作

このガイドでは、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
ThemeColors12個のテーマColorスロット: Dark1、Light1、Dark2、Light2、Accent1-Accent6、Hyperlink、FollowedHyperlink
ThemeFontsスクリプト別テーマフォント名: Latin、EastAsian、ComplexScript
ThemeColorテーマカラーのスロットを識別するEnum; Border、Shading、Fill、Stroke、Fontで使用されます
ThemeFontMajor/Minor テーマフォントの使用を識別するEnum; Fontで使用されます

参照

 日本語