Оптимизация замены шрифтов в презентациях с использованием С++
Замена шрифтов
Если вы передумали использовать шрифт, вы можете заменить его другим шрифтом. Все вхождения старого шрифта будут заменены новым шрифтом.
Aspose.Slides позволяет выполнить замену шрифта следующим образом:
- Загрузите соответствующую презентацию.
- Загрузите шрифт, который будет заменён.
- Загрузите новый шрифт.
- Выполните замену шрифта.
- Сохраните изменённую презентацию в формате PPTX.
Этот код C++ демонстрирует замену шрифта:
// Загружает презентацию
auto presentation = System::MakeObject<Presentation>(u"Fonts.pptx");
// Загружает исходный шрифт, который будет заменён
auto sourceFont = System::MakeObject<FontData>(u"Arial");
// Загружает новый шрифт
auto destFont = System::MakeObject<FontData>(u"Times New Roman");
// Заменяет шрифты
presentation->get_FontsManager()->ReplaceFont(sourceFont, destFont);
// Сохраняет презентацию
presentation->Save(u"UpdatedFont_out.pptx", SaveFormat::Pptx);
Note
Чтобы задать правила, определяющие, что происходит в определённых условиях (например, если шрифт недоступен), см. Замена шрифтов.Часто задаваемые вопросы
В чём разница между «заменой шрифтов», «заменой» и «резервными шрифтами»?
Замена — это намеренный переход от одной семейства к другой во всём документе. Замена — это правило типа «если шрифт недоступен, использовать X». Резервный шрифт применяется выборочно для отдельных отсутствующих глифов, когда базовый шрифт установлен, но не содержит требуемых символов.
Применяется ли замена к шаблонам слайдов, макетам, заметкам и комментариям?
Да. Замена затрагивает все объекты презентации, использующие исходный шрифт, включая шаблоны слайдов и заметки; комментарии также являются частью документа и учитываются шрифтовым движком.
Изменится ли шрифт внутри внедрённых OLE‑объектов (например, Excel)?
Нет. OLE‑контент управляется своим приложением. Замена в презентации не переоформляет внутренние данные OLE; они могут отображаться как изображение или как внешне редактируемый контент.
Можно ли заменить шрифт только в части презентации (по слайдам или регионам)?
Целевая замена возможна, если изменять шрифт на уровне нужных объектов/диапазонов, а не выполнять глобальную замену для всего документа. Общая логика выбора шрифта при рендеринге остаётся прежней.
Как заранее определить, какие шрифты использует презентация?
Используйте [менеджер шрифтов] презентации(https://reference.aspose.com/slides/cpp/aspose.slides/fontsmanager/): он предоставляет список [используемых семейств] (https://reference.aspose.com/slides/cpp/aspose.slides/fontsmanager/getfonts/) и информацию о [заменах/«неизвестных» шрифтах] (https://reference.aspose.com/slides/cpp/aspose.slides/fontsmanager/getsubstitutions/), что помогает планировать замену.
Работает ли замена шрифтов при конвертации в PDF/изображения?
Да. При экспорте Aspose.Slides применяет ту же последовательность выбора/замены шрифтов, поэтому заранее выполненная замена будет соблюдена при конвертации.
Нужно ли устанавливать целевой шрифт в системе или можно прикрепить папку со шрифтами?
Установка не требуется: библиотека позволяет загружать внешние шрифты из пользовательских папок для использования при рендеринге и экспорте.
Исправит ли замена проблему «тофу» (квадратов вместо символов)?
Только если целевой шрифт действительно содержит необходимые глифы. В противном случае настройте резервный шрифт для покрытия отсутствующих символов.