フォールバックフォントを使用してプレゼンテーションをレンダリング
Contents
[
Hide
]
次の例は、以下の手順を含みます:
- フォールバックフォントルールコレクションを作成します。
- フォールバックフォントルールを削除し、別のルールにaddFallBackFontsを追加します。
- ルールコレクションをgetFontsManagerのgetFontFallBackRulesCollectionメソッドに設定します。
- Presentation.saveメソッドを使用して、同じ形式でプレゼンテーションを保存するか、別の形式で保存できます。フォールバックフォントルールコレクションがFontsManagerに設定されると、これらのルールはプレゼンテーションに対するすべての操作(保存、レンダリング、変換など)の際に適用されます。
// ルールコレクションの新しいインスタンスを作成
IFontFallBackRulesCollection rulesList = new FontFallBackRulesCollection();
// ルールの数を作成
rulesList.add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman"));
for (IFontFallBackRule fallBackRule : rulesList)
{
// 読み込まれたルールからフォールバックフォント「Tahoma」を削除しようとする
fallBackRule.remove("Tahoma");
// 指定された範囲のルールを更新する
if ((fallBackRule.getRangeEndIndex() >= 0x4000) && (fallBackRule.getRangeStartIndex() < 0x5000))
fallBackRule.addFallBackFonts("Verdana");
}
// リストから既存のルールを削除することもできます
if (rulesList.size() > 0)
rulesList.remove(rulesList.get_Item(0));
Presentation pres = new Presentation("input.pptx");
try {
// 使用するために準備されたルールリストを割り当てる
pres.getFontsManager().setFontFallBackRulesCollection(rulesList);
// 初期化されたルールコレクションを使用してサムネイルをレンダリングし、JPEGに保存
IImage slideImage = pres.getSlides().get_Item(0).getImage(1f, 1f);
// JPEG形式でディスクに画像を保存
try {
slideImage.save("Slide_0.jpg", ImageFormat.Jpeg);
} finally {
if (slideImage != null) slideImage.dispose();
}
} finally {
if (pres != null) pres.dispose();
}
プレゼンテーションの保存と変換についてもっと読む。