Настройка подстановки шрифтов в презентациях с помощью Python
Установить правила подстановки
Aspose.Slides позволяет задавать правила для шрифтов, определяющие, что необходимо сделать в определённых условиях (например, когда шрифт недоступен) следующим образом:
- Загрузите соответствующую презентацию.
- Загрузите шрифт, который будет заменён.
- Загрузите новый шрифт.
- Добавьте правило для замены.
- Добавьте правило в коллекцию правил замены шрифтов презентации.
- Сгенерируйте изображение слайда, чтобы увидеть эффект.
Этот код на 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)
NOTE
Возможно, вам будет интересен Font Replacement.Ограничения для шрифтов математических уравнений
Правила подстановки шрифтов участвуют в стандартном процессе выбора шрифта, используемого при рендеринге и конвертации. Они подходят для обычных текстовых сценариев, когда Aspose.Slides может заменить недоступный шрифт другим доступным шрифтом согласно настроенному правилу.
Однако у уравнений Office Math есть важное ограничение. Если уравнение было создано с использованием Cambria Math, Aspose.Slides всё равно может потребовать оригинальный шрифт Cambria Math для правильного расчёта и рендеринга компоновки уравнения. Поэтому подстановка Cambria Math другим математическим шрифтом, например STIX Two Math, не поддерживается при рендеринге уравнений и может привести к исключению, указывающему, что требуется Cambria Math.
Чтобы успешно конвертировать такие презентации, убедитесь, что Cambria Math доступен Aspose.Slides во время выполнения. Вы можете установить шрифт в операционной системе или предоставить его как external font, чтобы он мог участвовать в обычном процессе выбора шрифта при рендеринге и конвертации.
Это ограничение относится только к рендерингу уравнений. Стандартные правила подстановки шрифтов, описанные выше, по‑прежнему применяются к обычному тексту презентации, когда оригинальный шрифт недоступен.
FAQ
В чём разница между заменой шрифта и подстановкой шрифта?
Replacement — принудительное переопределение одного шрифта другим во всей презентации. Подстановка — правило, которое срабатывает при конкретном условии, например когда оригинальный шрифт недоступен, и тогда используется назначенный запасной шрифт.
Когда именно применяются правила подстановки?
Правила участвуют в стандартной последовательности font selection, которая оценивается при загрузке, рендеринге и конвертации; если выбранный шрифт недоступен, применяется замена или подстановка.
Каково поведение по умолчанию, если ни замена, ни подстановка не настроены, а шрифт отсутствует в системе?
Библиотека попытается выбрать ближайший доступный системный шрифт, аналогично тому, как ведёт себя PowerPoint.
Можно ли подключить пользовательские внешние шрифты во время выполнения, чтобы избежать подстановки?
Да. Вы можете add external fonts во время выполнения, чтобы библиотека учитывала их при выборе и рендеринге, в том числе при последующей конвертации.
Поставляет ли Aspose какие‑либо шрифты вместе с библиотекой?
Нет. Aspose не распространяет платные или бесплатные шрифты; вы добавляете и используете шрифты по своему усмотрению и ответственности.
Есть ли различия в поведении подстановки на Windows, Linux и macOS?
Да. Поиск шрифтов начинается с каталогов шрифтов операционной системы. Набор доступных по умолчанию шрифтов и пути поиска различаются между платформами, что влияет на их наличие и необходимость подстановки.
Как подготовить окружение, чтобы минимизировать неожиданную подстановку при пакетных конверсиях?
Синхронизируйте набор шрифтов между машинами или контейнерами, add the external fonts необходимые для итоговых документов, и по возможности embed fonts в презентациях, чтобы выбранные шрифты были доступны во время рендеринга.