Оптимизировать замену шрифтов в презентациях с использованием PHP
Заменить шрифты
Если вы передумали использовать шрифт, вы можете заменить его другим шрифтом. Все вхождения старого шрифта будут заменены новым шрифтом.
Aspose.Slides позволяет выполнить замену шрифта следующим образом:
- Загрузите соответствующую презентацию.
- Загрузите шрифт, который будет заменён.
- Загрузите новый шрифт.
- Замените шрифт.
- Сохраните изменённую презентацию в виде файла PPTX.
Этот PHP‑код демонстрирует замену шрифтов:
# Загружает презентацию
$pres = new Presentation("Fonts.pptx");
try {
# Загружает исходный шрифт, который будет заменён
$sourceFont = new FontData("Arial");
# Загружает новый шрифт
$destFont = new FontData("Times New Roman");
# Заменяет шрифты
$pres->getFontsManager()->replaceFont($sourceFont, $destFont);
# Сохраняет презентацию
$pres->save("UpdatedFont_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Note
Чтобы задать правила, определяющие, что происходит в определённых условиях (например, если шрифт недоступен), смотрите Подстановка шрифтов.Вопросы и ответы
В чём разница между «заменой шрифтов», «подстановкой шрифтов» и «резервными шрифтами»?
Замена — это намеренный переход от одной семейства к другой во всём документе. Подстановка — правило типа «если шрифт недоступен, использовать X». Резервный шрифт применяется выборочно для отдельных отсутствующих глифов, когда базовый шрифт установлен, но не содержит нужных символов.
Применяется ли замена к главным слайдам, макетам, заметкам и комментариям?
Да. Замена влияет на все объекты презентации, использующие исходный шрифт, включая главные слайды и заметки; комментарии также являются частью документа и учитываются шрифтовым движком.
Изменится ли шрифт во вложенных OLE‑объектах (например, Excel)?
Нет. OLE‑содержимое управляется своим приложением. Замена в презентации не переоформляет внутренние данные OLE; они могут отображаться как изображение или как внешне редактируемый контент.
Могу ли я заменить шрифт только в части презентации (по слайдам или регионам)?
Целевая замена возможна, если вы меняете шрифт на уровне требуемых объектов/диапазонов, а не применяете глобальную замену ко всему документу. Общая логика выбора шрифта при рендеринге остаётся прежней.
Как заранее определить, какие шрифты использует презентация?
Используйте менеджер шрифтов: он предоставляет список используемых семейств и информацию о подстановках/“неизвестных” шрифтах, что помогает планировать замену.
Работает ли замена шрифтов при конвертации в PDF/изображения?
Да. При экспорте Aspose.Slides применяет ту же последовательность выбора/подстановки шрифтов, поэтому выполненная заранее замена будет учтена при конвертации.
Нужно ли устанавливать целевой шрифт в системе или можно прикрепить папку со шрифтами?
Установка не требуется: библиотека позволяет загружать внешние шрифты из пользовательских папок для использования при рендеринге и экспорте.
Исправит ли замена проблему «тофу» (квадраты вместо символов)?
Только если целевой шрифт действительно содержит необходимые глифы. Если нет, настройте резервный шрифт для покрытия отсутствующих символов.