Gestionar fuentes en presentaciones usando Java

Administrar propiedades relacionadas con la fuente

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

  1. Crear una instancia de la clase Presentation.
  2. Obtener la referencia de una diapositiva utilizando 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 mediante FontData y establecer la Font del Portion correspondiente.
    1. Establecer la fuente en negrita.
    2. Establecer la fuente en cursiva.
  8. Establecer el color de la fuente mediante el FillFormat expuesto por el objeto Portion.
  9. Guardar la presentación modificada en un archivo PPTX.

La implementación de los pasos anteriores se muestra a continuación. Toma una presentación sin formato y aplica formato a 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 que contiene:

  1. Crear una instancia de la clase Presentation.
  2. Obtener la referencia de una diapositiva utilizando 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 que se usará para el Portion.
  9. Establecer otras propiedades de fuente como negrita, cursiva, subrayado, color y tamaño mediante las propiedades correspondientes expuestas por el objeto Portion.
  10. Guardar la presentación modificada como un archivo PPTX.

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

todo:image_alt_text
Figura: Texto con algunas propiedades de fuente establecidas por Aspose.Slides for 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();
}