Надстрочные и подстрочные символы

Управление текстом с надстрочными и подстрочными символами

Вы можете добавлять надстрочные и подстрочные символы внутри любого абзаца. Для добавления надстрочного или подстрочного текста в текстовом фрейме Aspose.Slides необходимо использовать метод setEscapement класса PortionFormat.

Это свойство возвращает или устанавливает надстрочный или подстрочный текст (значение от -100% (подстрочный) до 100% (надстрочный). Например:

  • Создайте экземпляр класса Presentation.
  • Получите ссылку на слайд, используя его индекс.
  • Добавьте IAutoShape типа Rectangle на слайд.
  • Получите доступ к ITextFrame, связанному с IAutoShape.
  • Очистите существующие абзацы.
  • Создайте новый объект абзаца для размещения надстрочного текста и добавьте его в коллекцию IParagraphs ITextFrame.
  • Создайте новый объект части текста.
  • Установите свойство Escapement для части в диапазоне от 0 до 100 для добавления надстрочного текста. (0 означает отсутствие надстрочного текста)
  • Установите текст для Portion и затем добавьте это в коллекцию частей абзаца.
  • Создайте новый объект абзаца для размещения подстрочного текста и добавьте его в коллекцию IParagraphs ITextFrame.
  • Создайте новый объект части текста.
  • Установите свойство Escapement для части в диапазоне от 0 до -100 для добавления подстрочного текста. (0 означает отсутствие подстрочного текста)
  • Установите текст для Portion и затем добавьте это в коллекцию частей абзаца.
  • Сохраните презентацию в формате PPTX.

Реализация вышеуказанных шагов приведена ниже.

  # Создайте экземпляр класса Presentation, представляющий PPTX
  $pres = new Presentation();
  try {
    # Получите слайд
    $slide = $pres->getSlides()->get_Item(0);
    # Создайте текстовое поле
    $shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 100, 200, 100);
    $textFrame = $shape->getTextFrame();
    $textFrame->getParagraphs()->clear();
    # Создайте абзац для надстрочного текста
    $superPar = new Paragraph();
    # Создайте часть с обычным текстом
    $portion1 = new Portion();
    $portion1->setText("SlideTitle");
    $superPar->getPortions()->add($portion1);
    # Создайте часть с надстрочным текстом
    $superPortion = new Portion();
    $superPortion->getPortionFormat()->setEscapement(30);
    $superPortion->setText("TM");
    $superPar->getPortions()->add($superPortion);
    # Создайте абзац для подстрочного текста
    $paragraph2 = new Paragraph();
    # Создайте часть с обычным текстом
    $portion2 = new Portion();
    $portion2->setText("a");
    $paragraph2->getPortions()->add($portion2);
    # Создайте часть с подстрочным текстом
    $subPortion = new Portion();
    $subPortion->getPortionFormat()->setEscapement(-25);
    $subPortion->setText("i");
    $paragraph2->getPortions()->add($subPortion);
    # Добавьте абзацы в текстовое поле
    $textFrame->getParagraphs()->add($superPar);
    $textFrame->getParagraphs()->add($paragraph2);
    $pres->save("formatText.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }