# Оптимизация замены шрифтов в презентациях на Java

> Бесшовно заменяйте шрифты в Aspose.Slides для Java, чтобы обеспечить согласованную типографику в презентациях PowerPoint и OpenDocument.

Source: https://docs.aspose.com/slides/ru/java/font-replacement/
Updated: 2025-12-10


## **Замена шрифтов**

Если вы передумали использовать шрифт, вы можете заменить его другим шрифтом. Все вхождения старого шрифта будут заменены новым шрифтом.

Aspose.Slides позволяет заменить шрифт следующим образом:

1. Загрузите соответствующую презентацию.  
2. Загрузите шрифт, который будет заменён.  
3. Загрузите новый шрифт.  
4. Выполните замену шрифта.  
5. Сохраните изменённую презентацию в файл PPTX.

Этот Java‑код демонстрирует замену шрифтов:
```java
// Загружает презентацию
Presentation pres = new Presentation("Fonts.pptx");
try {
    // Загружает исходный шрифт, который будет заменён
    IFontData sourceFont = new FontData("Arial");
    
    // Загружает новый шрифт
    IFontData destFont = new FontData("Times New Roman");
    
    // Заменяет шрифты
    pres.getFontsManager().replaceFont(sourceFont, destFont);
    
    // Сохраняет презентацию
    pres.save("UpdatedFont_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}
```


{{% alert title="Note" color="warning" %}} 

Чтобы задать правила, определяющие поведение в определённых условиях (например, если шрифт недоступен), см. [**Замена шрифтов**](/slides/ru/java/font-substitution/). 

{{% /alert %}}

## **FAQ**

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

Замена — это намеренный переход от одной семейства к другой во всём документе. [Подстановка](/slides/ru/java/font-substitution/) — это правило типа «если шрифт недоступен, использовать X». [Резервный шрифт](/slides/ru/java/fallback-font/) применяется выборочно для отдельных отсутствующих глифов, когда базовый шрифт установлен, но не содержит требуемые символы.

**Применяется ли замена к шаблонам слайдов, макетам, заметкам и комментариям?**

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

**Изменится ли шрифт внутри встроенных OLE‑объектов (например, Excel)?**

Нет. [OLE‑контент](/slides/ru/java/manage-ole/) управляется своим приложением. Замена в презентации не переоформляет внутренние данные OLE; они могут отображаться как изображение или как внешнее редактируемое содержимое.

**Можно ли заменить шрифт только в части презентации (по слайдам или регионам)?**

Целевая замена возможна, если менять шрифт на уровне требуемых объектов/диапазонов, а не применять глобальную замену ко всему документу. Логика выбора шрифта при рендеринге остаётся прежней.

**Как заранее определить, какие шрифты использует презентация?**

Используйте [менеджер шрифтов]((https://reference.aspose.com/slides/java/com.aspose.slides/fontsmanager/)) презентации: он предоставляет список [семейств в использовании]((https://reference.aspose.com/slides/java/com.aspose.slides/fontsmanager/#getFonts--)) и информацию о [подстановках/«неизвестных» шрифтах]((https://reference.aspose.com/slides/java/com.aspose.slides/fontsmanager/#getSubstitutions--)), что помогает планировать замену.

**Работает ли замена шрифтов при конвертации в PDF/изображения?**

Да. При экспорте Aspose.Slides использует ту же [последовательность выбора/подстановки шрифтов](/slides/ru/java/font-selection-sequence/), поэтому выполненная заранее замена будет учтена при конвертации.

**Нужно ли устанавливать целевой шрифт в системе, или можно подключить папку со шрифтами?**

Установка не требуется: библиотека позволяет [загружать внешние шрифты](/slides/ru/java/custom-font/) из пользовательских папок для использования при [рендеринге и экспорте](/slides/ru/java/convert-powerpoint/).

**Исправит ли замена проблему «тофу» (квадратики вместо символов)?**

Только если целевой шрифт действительно содержит необходимые глифы. В противном случае [настройте резервный шрифт](/slides/ru/java/fallback-font/), чтобы покрыть отсутствующие символы.
