Настройка подстановки шрифтов в презентациях с использованием С++
Установить правила замены шрифтов
Aspose.Slides позволяет задать правила для шрифтов, определяющие, что необходимо сделать в определённых условиях (например, когда шрифт недоступен) следующим образом:
- Загрузить соответствующую презентацию.
- Загрузить шрифт, который будет заменён.
- Загрузить новый шрифт.
- Добавить правило замены.
- Добавить правило в коллекцию правил замены шрифтов презентации.
- Сгенерировать изображение слайда, чтобы увидеть эффект.
Этот C++ код демонстрирует процесс замены шрифтов:
// Путь к каталогу документов.
const String outPath = u"../out/RuleBasedFontsReplacement_out.pptx";
const String templatePath = u"../templates/DefaultFonts.pptx";
// Загружает презентацию
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);
// Определяет шрифт, который будет заменён, и новый шрифт
SharedPtr<IFontData> sourceFont = MakeObject<FontData>(u"SomeRareFont");
SharedPtr<IFontData> destFont = MakeObject<FontData>(u"Arial");
// Добавляет правило шрифта для замены шрифта
SharedPtr<FontSubstRule> fontSubstRule = MakeObject<FontSubstRule>(sourceFont, destFont, FontSubstCondition::WhenInaccessible);
// Добавляет правило в коллекцию правил подстановки шрифтов
SharedPtr<FontSubstRuleCollection> fontSubstRuleCollection = MakeObject<FontSubstRuleCollection>();
fontSubstRuleCollection->Add(fontSubstRule);
// Добавляет коллекцию правил шрифтов в список правил
pres->get_FontsManager()->set_FontSubstRuleList ( fontSubstRuleCollection);
// Сохраняет PPTX на диск
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
NOTE
Возможно, вам будет интересно посмотреть Font Replacement.FAQ
В чём разница между заменой шрифта и его подстановкой?
Replacement — принудительное переопределение одного шрифта другим во всей презентации. Подстановка — правило, срабатывающее при конкретном условии, например когда оригинальный шрифт недоступен, и тогда используется назначенный запасной шрифт.
Когда именно применяются правила подстановки?
Правила участвуют в стандартной последовательности font selection, оцениваемой при загрузке, рендеринге и конвертации; если выбранный шрифт недоступен, применяется замена или подстановка.
Каково поведение по умолчанию, если ни замена, ни подстановка не настроены и шрифт отсутствует в системе?
Библиотека попробует подобрать ближайший доступный системный шрифт, аналогично тому, как ведёт себя PowerPoint.
Могу ли я прикрепить пользовательские внешние шрифты во время выполнения, чтобы избежать подстановки?
Да. Вы можете add external fonts во время выполнения, чтобы библиотека учитывала их при выборе и рендеринге, включая последующие конвертации.
Распространяет ли Aspose какие‑то шрифты вместе с библиотекой?
Нет. Aspose не распространяет платные или бесплатные шрифты; вы добавляете и используете шрифты по своей инициативе и ответственности.
Есть ли различия в поведении подстановки на Windows, Linux и macOS?
Да. Поиск шрифтов начинается из каталогов шрифтов операционной системы. Набор доступных шрифтов по умолчанию и пути поиска различаются между платформами, что влияет на доступность и необходимость подстановки.
Как подготовить окружение, чтобы минимизировать неожиданную подстановку при пакетных конверсиях?
Синхронизируйте набор шрифтов между машинами или контейнерами, add the external fonts необходимые для выходных документов, и embed fonts в презентациях, когда это возможно, чтобы выбранные шрифты были доступны во время рендеринга.