Administrar fuentes - PowerPoint Java API

Administrar propiedades relacionadas con fuentes

Para gestionar las propiedades de fuente de un párrafo usando Aspose.Slides para PHP a través de Java:

  1. Crea una instancia de la clase Presentation.
  2. Obtén la referencia de una diapositiva utilizando su índice.
  3. Accede a las formas de Placeholder en la diapositiva y transfórmalas a AutoShape.
  4. Obtén el Paragraph del TextFrame expuesto por AutoShape.
  5. Justifica el párrafo.
  6. Accede al texto de un Paragraph Portion.
  7. Define la fuente utilizando FontData y establece la Fuente del texto Portion según corresponda.
    1. Establece la fuente en negrita.
    2. Establece la fuente en cursiva.
  8. Establece el color de la fuente utilizando el FillFormat expuesto por el objeto Portion.
  9. Guarda la presentación modificada en un archivo PPTX.

La implementación de los pasos anteriores se presenta a continuación. Toma una presentación sin adornos y formatea las fuentes en una de las diapositivas. Las capturas de pantalla que siguen muestran el archivo de entrada y cómo los fragmentos de código lo cambian. El código cambia la fuente, el color y el estilo de la fuente.

todo:image_alt_text
Figura: El texto en el archivo de entrada
todo:image_alt_text
Figura: El mismo texto con formato actualizado
  # Instanciar un objeto Presentation que representa un archivo PPTX
  $pres = new Presentation("FontProperties.pptx");
  try {
    # Accediendo a una diapositiva usando su posición en la diapositiva
    $slide = $pres->getSlides()->get_Item(0);
    # Accediendo al primer y segundo placeholder en la diapositiva y transformándolo como AutoShape
    $tf1 = $slide->getShapes()->get_Item(0)->getTextFrame();
    $tf2 = $slide->getShapes()->get_Item(1)->getTextFrame();
    # Accediendo al primer párrafo
    $para1 = $tf1->getParagraphs()->get_Item(0);
    $para2 = $tf2->getParagraphs()->get_Item(0);
    # Justificar el párrafo
    $para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
    # Accediendo a la primera porción
    $port1 = $para1->getPortions()->get_Item(0);
    $port2 = $para2->getPortions()->get_Item(0);
    # Definir nuevas fuentes
    $fd1 = new FontData("Elephant");
    $fd2 = new FontData("Castellar");
    # Asignar nuevas fuentes a la porción
    $port1->getPortionFormat()->setLatinFont($fd1);
    $port2->getPortionFormat()->setLatinFont($fd2);
    # Establecer la fuente en negrita
    $port1->getPortionFormat()->setFontBold(NullableBool::True);
    $port2->getPortionFormat()->setFontBold(NullableBool::True);
    # Establecer la fuente en cursiva
    $port1->getPortionFormat()->setFontItalic(NullableBool::True);
    $port2->getPortionFormat()->setFontItalic(NullableBool::True);
    # Establecer el color de la fuente
    $port1->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $port1->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
    $port2->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $port2->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GREEN);
    # Guardar el PPTX en disco
    $pres->save("WelcomeFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Establecer propiedades de fuente de texto

Para crear un cuadro de texto y establecer las propiedades de fuente del texto en él:

  1. Crea una instancia de la clase Presentation.
  2. Obtén la referencia de una diapositiva utilizando su índice.
  3. Agrega un AutoShape del tipo Rectángulo a la diapositiva.
  4. Elimina el estilo de relleno asociado con el AutoShape.
  5. Accede al TextFrame del AutoShape.
  6. Agrega algo de texto al TextFrame.
  7. Accede al objeto Portion asociado con el TextFrame.
  8. Define la fuente a utilizar para el Portion.
  9. Establece otras propiedades de la fuente como negrita, cursiva, subrayado, color y altura utilizando las propiedades relevantes expuestas por el objeto Portion.
  10. Escribe la presentación modificada como un archivo PPTX.

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

todo:image_alt_text
Figura: Texto con algunas propiedades de fuente establecidas por Aspose.Slides para PHP a través de Java
  # Instanciar un objeto Presentation que representa un archivo PPTX
  $pres = new Presentation();
  try {
    # Obtener la primera diapositiva
    $sld = $pres->getSlides()->get_Item(0);
    # Agregar un AutoShape de tipo Rectángulo
    $ashp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
    # Eliminar cualquier estilo de relleno asociado con el AutoShape
    $ashp->getFillFormat()->setFillType(FillType::NoFill);
    # Acceder al TextFrame asociado con el AutoShape
    $tf = $ashp->getTextFrame();
    $tf->setText("Aspose TextBox");
    # Acceder a la Porción asociada con el TextFrame
    $port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
    # Establecer la fuente para la Porción
    $port->getPortionFormat()->setLatinFont(new FontData("Times New Roman"));
    # Establecer la propiedad de negrita de la fuente
    $port->getPortionFormat()->setFontBold(NullableBool::True);
    # Establecer la propiedad de cursiva de la fuente
    $port->getPortionFormat()->setFontItalic(NullableBool::True);
    # Establecer la propiedad de subrayado de la fuente
    $port->getPortionFormat()->setFontUnderline(TextUnderlineType::Single);
    # Establecer la altura de la fuente
    $port->getPortionFormat()->setFontHeight(25);
    # Establecer el color de la fuente
    $port->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $port->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
    # Guardar la presentación en disco
    $pres->save("pptxFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }