Gestionar Fuentes - PowerPoint Java API

Gestionar Propiedades Relacionadas con Fuentes

Para gestionar las propiedades de la fuente de un párrafo utilizando Aspose.Slides para 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 Placeholder en la diapositiva y realízales un typecast a AutoShape.
  4. Obtén el Paragraph del TextFrame expuesto por AutoShape.
  5. Justifica el párrafo.
  6. Accede al Portion de texto de un Paragraph.
  7. Define la fuente utilizando FontData y establece la Fuente del texto Portion en consecuencia.
    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 simple 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 modifican. 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
Presentation pres = new Presentation("FontProperties.pptx");
try {
	// Accediendo a una diapositiva usando su posición en la diapositiva
	ISlide slide = pres.getSlides().get_Item(0);

	// Accediendo al primer y segundo placeholder en la diapositiva y realizándole un typecast a AutoShape
	ITextFrame tf1 = ((IAutoShape) slide.getShapes().get_Item(0)).getTextFrame();
	ITextFrame tf2 = ((IAutoShape) slide.getShapes().get_Item(1)).getTextFrame();

	// Accediendo al primer Paragraph
	IParagraph para1 = tf1.getParagraphs().get_Item(0);
	IParagraph para2 = tf2.getParagraphs().get_Item(0);

	// Justificar el párrafo
	para2.getParagraphFormat().setAlignment(TextAlignment.JustifyLow);

	// Accediendo al primer portion
	IPortion port1 = para1.getPortions().get_Item(0);
	IPortion port2 = para2.getPortions().get_Item(0);

	// Definir nuevas fuentes
	FontData fd1 = new FontData("Elephant");
	FontData fd2 = new FontData("Castellar");

	// Asignar nuevas fuentes al portion
	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(Color.BLUE);
	port2.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
	port2.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.GREEN);

	// Guardar el PPTX en disco
	pres.save("WelcomeFont.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null) pres.dispose();
}

Establecer Propiedades de Fuente de Texto

Para crear un cuadro de texto y establecer 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 que se 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 Java
// Instanciar un objeto Presentation que representa un archivo PPTX
Presentation pres = new Presentation();
try {
	// Obtener la primera diapositiva
	ISlide sld = pres.getSlides().get_Item(0);
	
	// Agregar un AutoShape de tipo Rectángulo
	IAutoShape 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
	ITextFrame tf = ashp.getTextFrame();
	tf.setText("Aspose TextBox");
	
	// Acceder al Portion asociado con el TextFrame
	IPortion port = tf.getParagraphs().get_Item(0).getPortions().get_Item(0);
	
	// Establecer la Fuente para el Portion
	port.getPortionFormat().setLatinFont(new FontData("Times New Roman"));
	
	// Establecer la propiedad Negrita de la Fuente
	port.getPortionFormat().setFontBold(NullableBool.True);
	
	// Establecer la propiedad Cursiva de la Fuente
	port.getPortionFormat().setFontItalic(NullableBool.True);
	
	// Establecer la propiedad 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(Color.BLUE);
	
	// Guardar la presentación en disco
	pres.save("pptxFont.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null) pres.dispose();
}