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

Contents
[ ]

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

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