Gestionar fuentes en presentaciones en Android

Administrar propiedades relacionadas con la fuente

Para gestionar las propiedades de fuente de un párrafo usando Aspose.Slides for Android via Java:

  1. Crear una instancia de la clase Presentation.
  2. Obtener la referencia de una diapositiva usando su índice.
  3. Acceder a las formas Placeholder en la diapositiva y convertirlas a AutoShape.
  4. Obtener el Paragraph del TextFrame expuesto por AutoShape.
  5. Justificar el párrafo.
  6. Acceder al [Portion] de texto de un Paragraph.
  7. Definir la fuente usando FontData y establecer la Font del [Portion] de texto en consecuencia.
    1. Establecer la fuente en negrita.
    2. Establecer la fuente en cursiva.
  8. Establecer el color de la fuente usando el FillFormat expuesto por el objeto Portion.
  9. Guardar la presentación modificada en un archivo PPTX.

Se muestra a continuación la implementación de los pasos anteriores. 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 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 {
	// Acceder a una diapositiva usando su posición
	ISlide slide = pres.getSlides().get_Item(0);

	// Acceder al primer y segundo marcador de posición en la diapositiva y convertirlo a AutoShape
	ITextFrame tf1 = ((IAutoShape) slide.getShapes().get_Item(0)).getTextFrame();
	ITextFrame tf2 = ((IAutoShape) slide.getShapes().get_Item(1)).getTextFrame();

	// Acceder al primer párrafo
	IParagraph para1 = tf1.getParagraphs().get_Item(0);
	IParagraph para2 = tf2.getParagraphs().get_Item(0);

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

	// Acceder a la primera porción
	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 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(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 del texto

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

  1. Crear una instancia de la clase Presentation.
  2. Obtener la referencia de una diapositiva usando su índice.
  3. Añadir un AutoShape de tipo Rectangle a la diapositiva.
  4. Eliminar el estilo de relleno asociado al AutoShape.
  5. Acceder al TextFrame del AutoShape.
  6. Añadir texto al TextFrame.
  7. Acceder al objeto Portion asociado al TextFrame.
  8. Definir la fuente a usar para el Portion.
  9. Establecer otras propiedades de la fuente como negrita, cursiva, subrayado, color y altura usando las propiedades correspondientes expuestas por el objeto Portion.
  10. Escribir la presentación modificada como un archivo PPTX.

A continuación se muestra la implementación de los pasos anteriores.

todo:image_alt_text
Figura: Texto con algunas propiedades de fuente establecidas por Aspose.Slides for Android via 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);
	
	// Añadir un AutoShape de tipo Rectangle
	IAutoShape ashp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 50);
	
	// Eliminar cualquier estilo de relleno asociado al AutoShape
	ashp.getFillFormat().setFillType(FillType.NoFill);
	
	// Acceder al TextFrame asociado al AutoShape
	ITextFrame tf = ashp.getTextFrame();
	tf.setText("Aspose TextBox");
	
	// Acceder a la Portion asociada al TextFrame
	IPortion port = tf.getParagraphs().get_Item(0).getPortions().get_Item(0);
	
	// Establecer la fuente para la 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();
}