Отрисовка презентации с запасным шрифтом

Contents
[ ]

Следующий пример включает в себя следующие шаги:

  1. Мы создаем коллекцию правил запасного шрифта.
  2. Удаляем правило запасного шрифта и добавляем запасные шрифты к другому правилу.
  3. Устанавливаем коллекцию правил для getFontsManager.getFontFallBackRulesCollection метод.
  4. С помощью метода 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();
}