Отображение презентации с запасным шрифтом
Contents
[
Hide
]
Следующий пример включает в себя эти шаги:
- Мы создаем коллекцию правил запасного шрифта.
- Удаляем правило запасного шрифта и добавляем запасные шрифты к другому правилу.
- Устанавливаем коллекцию правил в метод 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();
}
}
Узнайте больше о Сохранении и Конвертации в Презентации.