Administrar fuentes - PowerPoint Java API
Contents
[
Hide
]
Administrar propiedades relacionadas con fuentes
Las presentaciones suelen contener tanto texto como imágenes. El texto se puede formatear de diversas maneras, ya sea para resaltar secciones y palabras específicas o para ajustarse a estilos corporativos. El formato de texto ayuda a los usuarios a variar el aspecto y la sensación del contenido de la presentación. Este artículo muestra cómo usar Aspose.Slides para PHP a través de Java para configurar las propiedades de fuente de párrafos de texto en las diapositivas.
Para gestionar las propiedades de fuente de un párrafo usando Aspose.Slides para PHP a través de Java:
- Crea una instancia de la clase Presentation.
- Obtén la referencia de una diapositiva utilizando su índice.
- Accede a las formas de Placeholder en la diapositiva y transfórmalas a AutoShape.
- Obtén el Paragraph del TextFrame expuesto por AutoShape.
- Justifica el párrafo.
- Accede al texto de un Paragraph Portion.
- Define la fuente utilizando FontData y establece la Fuente del texto Portion según corresponda.
- 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 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.
Figura: El texto en el archivo de entrada |
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
Como se menciona en Administrar propiedades relacionadas con fuentes, un Portion se utiliza para contener texto con un estilo de formato similar en un párrafo. Este artículo muestra cómo usar Aspose.Slides para PHP a través de 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 familia de fuentes.
Para crear un cuadro de texto y establecer las 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 a 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 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();
}
}