# Оптимизировать замену шрифтов в презентациях с использованием PHP

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

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


## **Заменить шрифты**

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

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

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

Этот PHP‑код демонстрирует замену шрифтов:
```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();
    }
  }
```


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

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

{{% /alert %}}

## **Вопросы и ответы**

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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