Superíndices y Subíndices

Gestionar texto de superíndice y subíndice

Puedes agregar texto de superíndice y subíndice dentro de cualquier parte del párrafo. Para agregar texto de superíndice o subíndice en el marco de texto de Aspose.Slides, se debe utilizar el setEscapement del clase PortionFormat.

Esta propiedad devuelve o establece el texto de superíndice o subíndice (valor de -100% (subíndice) a 100% (superíndice)). Por ejemplo:

  • Crea una instancia de la clase Presentation.
  • Obtén la referencia de una diapositiva utilizando su índice.
  • Agrega un IAutoShape de tipo Rectangle a la diapositiva.
  • Accede al ITextFrame asociado con el IAutoShape.
  • Limpia los párrafos existentes.
  • Crea un nuevo objeto de párrafo para contener texto de superíndice y agrégalo a la colección IParagraphs del ITextFrame.
  • Crea un nuevo objeto de porción.
  • Establece la propiedad de Escapement para la porción entre 0 y 100 para agregar superíndice. (0 significa sin superíndice).
  • Establece un texto para Portion y luego agrégalo a la colección de porciones del párrafo.
  • Crea un nuevo objeto de párrafo para contener texto de subíndice y agrégalo a la colección IParagraphs del ITextFrame.
  • Crea un nuevo objeto de porción.
  • Establece la propiedad de Escapement para la porción entre 0 y -100 para agregar subíndice. (0 significa sin subíndice).
  • Establece un texto para Portion y luego agrégalo a la colección de porciones del párrafo.
  • Guarda la presentación como un archivo PPTX.

La implementación de los pasos anteriores se proporciona a continuación.

// Instanciar una clase Presentation que representa un PPTX
Presentation pres = new Presentation();
try {
    // Obtener diapositiva
    ISlide slide = pres.getSlides().get_Item(0);

    // Crear cuadro de texto
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 100, 100, 200, 100);
    ITextFrame textFrame = shape.getTextFrame();
    textFrame.getParagraphs().clear();

    // Crear párrafo para texto de superíndice
    IParagraph superPar = new Paragraph();

    // Crear porción con texto habitual
    IPortion portion1 = new Portion();
    portion1.setText("SlideTitle");
    superPar.getPortions().add(portion1);

    // Crear porción con texto de superíndice
    IPortion superPortion = new Portion();
    superPortion.getPortionFormat().setEscapement(30);
    superPortion.setText("TM");
    superPar.getPortions().add(superPortion);

    // Crear párrafo para texto de subíndice
    IParagraph paragraph2 = new Paragraph();

    // Crear porción con texto habitual
    IPortion portion2 = new Portion();
    portion2.setText("a");
    paragraph2.getPortions().add(portion2);

    // Crear porción con texto de subíndice
    IPortion subPortion = new Portion();
    subPortion.getPortionFormat().setEscapement(-25);
    subPortion.setText("i");
    paragraph2.getPortions().add(subPortion);

    // Agregar párrafos al cuadro de texto
    textFrame.getParagraphs().add(superPar);
    textFrame.getParagraphs().add(paragraph2);

    pres.save("formatText.pptx",SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}