Настройка подстановки шрифтов в презентациях с использованием PHP

Установить правила подстановки шрифтов

Aspose.Slides позволяет задавать правила для шрифтов, которые определяют, что следует делать в определённых условиях (например, когда шрифт недоступен) следующим образом:

  1. Загрузить соответствующую презентацию.
  2. Загрузить шрифт, который будет заменён.
  3. Загрузить новый шрифт.
  4. Добавить правило для замены.
  5. Добавить правило в коллекцию правил замены шрифтов презентации.
  6. Сгенерировать изображение слайда, чтобы увидеть эффект.

This PHP code demonstrates the font substitution process:

  # Загружает презентацию
  $pres = new Presentation("Fonts.pptx");
  try {
    # Загружает исходный шрифт, который будет заменён
    $sourceFont = new FontData("SomeRareFont");
    # Загружает новый шрифт
    $destFont = new FontData("Arial");
    # Добавляет правило замены шрифта
    $fontSubstRule = new FontSubstRule($sourceFont, $destFont, FontSubstCondition->WhenInaccessible);
    # Добавляет правило в коллекцию правил замены шрифтов
    $fontSubstRuleCollection = new FontSubstRuleCollection();
    $fontSubstRuleCollection->add($fontSubstRule);
    # Добавляет коллекцию правил шрифтов в список правил
    $pres->getFontsManager()->setFontSubstRuleList($fontSubstRuleCollection);
    # Шрифт Arial будет использован вместо SomeRareFont, когда последний недоступен
    $slideImage = $pres->getSlides()->get_Item(0)->getImage(1.0, 1.0);
    # Сохраняет изображение на диск в формате JPEG
    try {
      $slideImage->save("Thumbnail_out.jpg", ImageFormat::Jpeg);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

В чём разница между заменой шрифтов и подстановкой шрифтов?

Replacement — это принудительная замена одного шрифта другим во всей презентации. Подстановка — это правило, которое срабатывает при определённом условии, например когда исходный шрифт недоступен, и тогда используется назначенный запасной шрифт.

Когда именно применяются правила подстановки?

Правила участвуют в стандартной последовательности font selection, которая оценивается при загрузке, рендеринге и конвертации; если выбранный шрифт недоступен, применяется замена или подстановка.

Каково поведение по умолчанию, если ни замена, ни подстановка не настроены, а шрифт отсутствует в системе?

Библиотека попробует выбрать ближайший доступный системный шрифт, аналогично тому, как это делает PowerPoint.

Могу ли я подключить пользовательские внешние шрифты во время выполнения, чтобы избежать подстановки?

Да. Вы можете add external fonts во время выполнения, чтобы библиотека учитывала их при выборе и рендеринге, включая последующие конвертации.

Распределяет ли Aspose какие‑либо шрифты вместе с библиотекой?

Нет. Aspose не распространяет платные или бесплатные шрифты; вы добавляете и используете шрифты по своему усмотрению и ответственности.

Есть ли различия в поведении подстановки на Windows, Linux и macOS?

Да. Поиск шрифтов начинается из каталогов шрифтов операционной системы. Набор доступных по умолчанию шрифтов и пути поиска различаются между платформами, что влияет на доступность и необходимость подстановки.

Как подготовить среду, чтобы минимизировать неожиданную подстановку при пакетных конверсиях?

Синхронизируйте набор шрифтов между машинами или контейнерами, add the external fonts необходимые для итоговых документов, и по возможности embed fonts в презентации, чтобы выбранные шрифты были доступны во время рендеринга.