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

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

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

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

Этот код на Python демонстрирует процесс подстановки шрифтов:

import aspose.slides as slides

# Загружает презентацию
with slides.Presentation(path + "Fonts.pptx") as presentation:
    # Загружает исходный шрифт, который будет заменён
    sourceFont = slides.FontData("SomeRareFont")

    # Загружает новый шрифт
    destFont = slides.FontData("Arial")

    # Добавляет правило замены шрифта
    fontSubstRule = slides.FontSubstRule(sourceFont, destFont, slides.FontSubstCondition.WHEN_INACCESSIBLE)

    # Добавляет правило в коллекцию правил подстановки шрифтов
    fontSubstRuleCollection = slides.FontSubstRuleCollection()
    fontSubstRuleCollection.add(fontSubstRule)

    # Добавляет коллекцию правил шрифтов в список правил
    presentation.fonts_manager.font_subst_rule_list = fontSubstRuleCollection

    # Шрифт Arial будет использоваться вместо SomeRareFont, когда последний недоступен
    with presentation.slides[0].get_image(1, 1) as bmp:
        # Сохраняет изображение на диск в формате JPEG
        bmp.save("Thumbnail_out.jpg", slides.ImageFormat.JPEG)

FAQ

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

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

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

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

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

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

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

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

Поставляет ли Aspose какие-либо шрифты вместе с библиотекой?

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

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

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

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

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