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