У��авление надстрочным и подстрочным текстом в презентациях на .NET

Обзор

Aspose.Slides for .NET предоставляет функции для интеграции текста в верхнем и нижнем индексе в ваши презентации PowerPoint (PPT, PPTX) и OpenDocument (ODP). Независимо от того, нужно ли вам выделять химические формулы, математические уравнения или добавлять сноски, эти специализированные параметры форматирования помогают сохранять ясность и точность. В этой статье вы узнаете, как без усилий применять стили верхнего и нижнего индекса и обеспечивать профессиональный результат на каждом слайде.

Добавление верхнего и нижнего индекса

Вы можете добавить текст в верхнем и нижнем индексе внутри любого абзаца в презентации. Чтобы достичь этого с помощью Aspose.Slides, необходимо использовать свойство Escapement класса PortionFormat.

Это свойство позволяет задавать текст в верхнем или нижнем индексе, значения варьируются от -100% (нижний индекс) до 100% (верхний индекс).

Implementation steps:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на слайд, используя его индекс.
  3. Добавьте к слайду объект IAutoShape типа Rectangle.
  4. Получите доступ к ITextFrame, связанному с IAutoShape.
  5. Очистите существующие абзацы.
  6. Создайте новый Paragraph для текста в верхнем индексе и добавьте его в коллекцию абзацев ITextFrame.
  7. Создайте новый объект текстовой части.
  8. Установите свойство Escapement для текстовой части в диапазоне от 0 до 100, чтобы применить верхний индекс (0 означает отсутствие верхнего индекса).
  9. Задайте текст для Portion и добавьте его в коллекцию частей абзаца.
  10. Создайте еще один Paragraph для текста в нижнем индексе и добавьте его в коллекцию абзацев.
  11. Создайте новый объект текстовой части.
  12. Установите свойство Escapement для текстовой части в диапазоне от 0 до -100, чтобы применить нижний индекс (0 означает отсутствие нижнего индекса).
  13. Задайте текст для Portion и добавьте его в коллекцию частей абзаца.
  14. Сохраните презентацию в файл PPTX.

The following C# code implements these steps:

using (Presentation presentation = new Presentation())
{
    // Получить первый слайд.
    ISlide slide = presentation.Slides[0];

    // Создать текстовое поле.
    IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 200, 100);
    ITextFrame textFrame = shape.TextFrame;

    textFrame.Paragraphs.Clear();

    // Создать абзац для надстрочного текста.
    IParagraph superPar = new Paragraph();

    // Создать часть текста с обычным текстом.
    IPortion portion1 = new Portion();
    portion1.Text = "MyProduct";
    superPar.Portions.Add(portion1);

    // Создать часть текста с надстрочным текстом.
    IPortion superPortion = new Portion();
    superPortion.PortionFormat.Escapement = 30;
    superPortion.Text = "TM";
    superPar.Portions.Add(superPortion);

    // Создать абзац для нижнего индекса.
    IParagraph paragraph2 = new Paragraph();

    // Создать часть текста с обычным текстом.
    IPortion portion2 = new Portion();
    portion2.Text = "a";
    paragraph2.Portions.Add(portion2);

    // Создать часть текста с нижним индексом.
    IPortion subPortion = new Portion();
    subPortion.PortionFormat.Escapement = -25;
    subPortion.Text = "i";
    paragraph2.Portions.Add(subPortion);

    // Добавить абзацы в текстовое поле.
    textFrame.Paragraphs.Add(superPar);
    textFrame.Paragraphs.Add(paragraph2);

    presentation.Save("output.pptx", SaveFormat.Pptx);
}

Результат:

Верхний и нижний индекс

Часто задаваемые вопросы

Будут ли верхний и нижний индекс сохранены при экспорте в PDF или другие форматы?

Да, Aspose.Slides for .NET корректно сохраняет форматирование верхнего и нижнего индекса при экспорте презентаций в PDF, PPT/PPTX, изображения и другие поддерживаемые форматы. Специализированное форматирование остается неизменным во всех выходных файлах.

Можно ли комбинировать верхний и нижний индекс с другими стилями форматирования, например жирным или курсивом?

Да, Aspose.Slides позволяет смешивать различные стили текста внутри одной части текста. Вы можете включить жирный, курсив, подчёркивание и одновременно применить верхний или нижний индекс, настроив соответствующие свойства в PortionFormat.

Работает ли форматирование верхнего и нижнего индекса для текста внутри таблиц, диаграмм или SmartArt?

Да, Aspose.Slides for .NET поддерживает форматирование в большинстве объектов, включая таблицы и элементы диаграмм. При работе с SmartArt необходимо получить доступ к соответствующим элементам (например, к SmartArtNode) и их текстовым контейнерам, а затем настроить свойства PortionFormat аналогичным образом.