Отображение презентаций с резервными шрифтами в Java
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)
{
// Пытаемся удалить шрифт FallBack "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();
}
Подробнее о том, как конвертировать PPT и PPTX в JPG на Java.