フォールバックフォントを使用したプレゼンテーションのレンダリング
Contents
[
Hide
]
次の例は、以下の手順を含みます:
- フォールバックフォントルールコレクションを作成します。
- Remove()でフォールバックフォントルールを削除し、AddFallBackFonts()を別のルールに追加します。
- ルールコレクションをFontsManager.FontFallBackRulesCollectionプロパティに設定します。
- Presentation.Save()メソッドを使用して、同じ形式でプレゼンテーションを保存するか、別の形式で保存することができます。フォールバックフォントルールコレクションがFontsManagerに設定されると、これらのルールはプレゼンテーションに対する任意の操作(保存、レンダリング、変換など)中に適用されます。
// ルールコレクションの新しいインスタンスを作成
IFontFallBackRulesCollection rulesList = new FontFallBackRulesCollection();
// いくつかのルールを作成
rulesList.Add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman"));
//rulesList.Add(new FontFallBackRule(...));
foreach (IFontFallBackRule fallBackRule in rulesList)
{
// ロードされたルールからフォールバックフォント「Tahoma」を削除しようとしています
fallBackRule.Remove("Tahoma");
// 指定された範囲のルールを更新するために
if ((fallBackRule.RangeEndIndex >= 0x4000) && (fallBackRule.RangeStartIndex < 0x5000))
fallBackRule.AddFallBackFonts("Verdana");
}
// リストから既存のルールを削除することもできます
if (rulesList.Count > 0)
rulesList.Remove(rulesList[0]);
using (Presentation pres = new Presentation("input.pptx"))
{
// 使用するために準備されたルールリストを割り当て
pres.FontsManager.FontFallBackRulesCollection = rulesList;
// 初期化されたルールコレクションを使用してサムネイルをレンダリングし、PNGとして保存
using (IImage image = pres.Slides[0].GetImage(1f, 1f))
{
image.Save("Slide_0.png", ImageFormat.Png);
}
}