Отображение презентаций с резервными шрифтами в PHP
Contents
[
Hide
]
В следующем примере приведены следующие шаги:
- Мы создаем коллекцию правил резервных шрифтов.
- Удалить правило резервного шрифта и addFallBackFonts к другому правилу.
- Установите коллекцию правил с помощью метода getFontsManager.getFontFallBackRulesCollection .
- С помощью метода Presentation.save мы можем сохранить презентацию в том же формате или в другом. После того как коллекция правил резервных шрифтов установлена в FontsManager, эти правила применяются при любых операциях с презентацией: сохранение, рендеринг, конвертация и т.д.
# Создать новый экземпляр коллекции правил
$rulesList = new FontFallBackRulesCollection();
# создать несколько правил
$rulesList->add(new FontFallBackRule(0x400, 0x4ff, "Times New Roman"));
foreach($rulesList as $fallBackRule) {
# Пытаемся удалить шрифт FallBack "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();
}
}
Узнайте больше о том, как конвертировать PPT и PPTX в JPG на PHP.