上标和下标

管理上标和下标文本

您可以在任何段落部分添加上标和下标文本。要在Aspose.Slides文本框中添加上标或下标文本,必须使用setEscapement方法来自PortionFormat类。

此属性返回或设置上标或下标文本(值从-100%(下标)到100%(上标))。例如:

  • 创建Presentation类的实例。
  • 通过使用其索引获取幻灯片的引用。
  • Rectangle类型的IAutoShape添加到幻灯片。
  • 访问与IAutoShape关联的ITextFrame
  • 清除现有段落。
  • 创建一个新的段落对象以保持上标文本,并将其添加到IParagraphs collectionITextFrame中。
  • 创建一个新的部分对象。
  • 设置该部分的Escapement属性为0到100之间的值以添加上标。(0表示没有上标)
  • Portion设置一些文本,然后将其添加到段落的部分集合中。
  • 创建一个新的段落对象以保持下标文本,并将其添加到IParagraphs集合的ITextFrame中。
  • 创建一个新的部分对象。
  • 设置部分的Escapement属性为0到-100之间的值以添加下标。(0表示没有下标)
  • Portion设置一些文本,然后将其添加到段落的部分集合中。
  • 将演示文稿保存为PPTX文件。

上述步骤的实现如下所示。

  # 实例化一个表示PPTX的Presentation类
  $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();
    }
  }