Gestionar Fuentes - PowerPoint Java API
Contents
[
Hide
]
Gestionar Propiedades Relacionadas con Fuentes
Las presentaciones generalmente contienen tanto texto como imágenes. El texto se puede formatear de diversas maneras, ya sea para resaltar secciones y palabras específicas o para conformarse con estilos corporativos. El formateo del texto ayuda a los usuarios a variar la apariencia y la sensación del contenido de la presentación. Este artículo muestra cómo usar Aspose.Slides para Java para configurar las propiedades de fuente de los párrafos de texto en las diapositivas.
Para gestionar las propiedades de la fuente de un párrafo utilizando Aspose.Slides para Java:
- Crea una instancia de la clase Presentation.
- Obtén la referencia de una diapositiva utilizando su índice.
- Accede a las formas Placeholder en la diapositiva y realízales un typecast a AutoShape.
- Obtén el Paragraph del TextFrame expuesto por AutoShape.
- Justifica el párrafo.
- Accede al Portion de texto de un Paragraph.
- Define la fuente utilizando FontData y establece la Fuente del texto Portion en consecuencia.
- Establece la fuente en negrita.
- Establece la fuente en cursiva.
- Establece el color de la fuente utilizando el FillFormat expuesto por el objeto Portion.
- 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.
Figura: El texto en el archivo de entrada |
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
Como se mencionó en Gestionando Propiedades Relacionadas con Fuentes, un Portion se utiliza para contener texto con un estilo de formateo similar en un párrafo. Este artículo muestra cómo usar Aspose.Slides para Java para crear un cuadro de texto con algo de texto y luego definir una fuente particular, y varias otras propiedades de la categoría de fuentes.
Para crear un cuadro de texto y establecer propiedades de fuente del texto en él:
- Crea una instancia de la clase Presentation.
- Obtén la referencia de una diapositiva utilizando su índice.
- Agrega un AutoShape del tipo Rectángulo a la diapositiva.
- Elimina el estilo de relleno asociado con el AutoShape.
- Accede al TextFrame del AutoShape.
- Agrega algo de texto al TextFrame.
- Accede al objeto Portion asociado con el TextFrame.
- Define la fuente que se utilizará para el Portion.
- Establece otras propiedades de la fuente como negrita, cursiva, subrayado, color y altura utilizando las propiedades relevantes expuestas por el objeto Portion.
- Escribe la presentación modificada como un archivo PPTX.
La implementación de los pasos anteriores se presenta a continuación.
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();
}