Gestionar fuentes en presentaciones usando PHP
Contents
[
Hide
]
Gestionar propiedades relacionadas con la fuente
Las presentaciones suelen contener tanto texto como imágenes. El texto puede formatearse de diversas maneras, ya sea para resaltar secciones y palabras específicas o para ajustarse a los estilos corporativos. El formato del 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 for PHP via Java para configurar las propiedades de fuente de los párrafos de texto en las diapositivas.
Para gestionar las propiedades de fuente de un párrafo usando Aspose.Slides for PHP via Java:
- Crear una instancia de la clase Presentation.
- Obtener la referencia de una diapositiva usando su índice.
- Acceder a las formas Placeholder en la diapositiva y convertirlas a AutoShape.
- Obtener el Paragraph del TextFrame expuesto por AutoShape.
- Justificar el párrafo.
- Acceder al Portion de texto de un Paragraph.
- Definir la fuente usando FontData y establecer la Font del [Portion] de texto en consecuencia.
- Establecer la fuente en negrita.
- Establecer la fuente en cursiva.
- Establecer el color de la fuente usando el FillFormat expuesto por el objeto Portion.
- 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 formatos de fuente a 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
$pres = new Presentation("FontProperties.pptx");
try {
# Accediendo a una diapositiva mediante su posición
$slide = $pres->getSlides()->get_Item(0);
# Accediendo al primer y segundo placeholder en la diapositiva y convirtiéndolo a 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 fuentes nuevas
$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 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 del texto
Como se menciona en Gestionar propiedades relacionadas con la fuente, 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 for PHP via Java para crear un cuadro de texto con algún texto y luego definir una fuente concreta, así como varias otras propiedades de la categoría de familia tipográfica.
Para crear un cuadro de texto y establecer las propiedades de fuente del texto que contiene:
- Crear una instancia de la clase Presentation.
- Obtener la referencia de una diapositiva usando su índice.
- Añadir un AutoShape de tipo Rectangle a la diapositiva.
- Eliminar el estilo de relleno asociado al AutoShape.
- Acceder al TextFrame del AutoShape.
- Añadir texto al TextFrame.
- Acceder al objeto Portion asociado al TextFrame.
- Definir la fuente a usar para el Portion.
- Establecer otras propiedades de fuente como negrita, cursiva, subrayado, color y altura mediante las propiedades relevantes expuestas por el objeto Portion.
- Escribir la presentación modificada como archivo PPTX.
La implementación de los pasos anteriores se muestra a continuación.
![]() |
|---|
| Figura: Texto con algunas propiedades de fuente establecidas por Aspose.Slides for PHP via Java |
# Instanciar un objeto Presentation que representa un archivo PPTX
$pres = new Presentation();
try {
# Obtener la primera diapositiva
$sld = $pres->getSlides()->get_Item(0);
# Añadir un AutoShape de tipo Rectángulo
$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
$tf = $ashp->getTextFrame();
$tf->setText("Aspose TextBox");
# Acceder a la Porción asociada al 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 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(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();
}
}


