Gestionar el párrafo de PowerPoint
Aspose.Slides proporciona todas las interfaces y clases que necesita para trabajar con textos, párrafos y porciones de PowerPoint.
- Aspose.Slides proporciona la interfaz ITextFrame para permitirle agregar objetos que representan un párrafo. Un objeto
ITextFame
puede tener uno o múltiples párrafos (cada párrafo se crea a través de un retorno de carro). - Aspose.Slides proporciona la interfaz IParagraph para permitirle agregar objetos que representan porciones. Un objeto
IParagraph
puede tener una o múltiples porciones (colección de objetos iPortions). - Aspose.Slides proporciona la interfaz IPortion para permitirle agregar objetos que representan textos y sus propiedades de formato.
Un objeto IParagraph
es capaz de manejar textos con diferentes propiedades de formato a través de sus objetos subyacentes IPortion
.
Agregar múltiples párrafos que contengan múltiples porciones
Estos pasos le muestran cómo agregar un marco de texto que contenga 3 párrafos y cada párrafo contenga 3 porciones:
- Cree una instancia de la clase Presentation.
- Acceda a la referencia de la diapositiva relevante a través de su índice.
- Agregue una forma rectangular IAutoShape a la diapositiva.
- Obtenga el ITextFrame asociado con el IAutoShape.
- Cree dos objetos IParagraph y agréguelos a la colección
IParagraphs
del ITextFrame. - Cree tres objetos IPortion para cada nuevo
IParagraph
(dos objetos Porción para el párrafo predeterminado) y agregue cada objetoIPortion
a la colección IPortion de cadaIParagraph
. - Establezca algún texto para cada porción.
- Aplique sus características de formato preferidas a cada porción utilizando las propiedades de formato expuestas por el objeto
IPortion
. - Guarde la presentación modificada.
Este código PHP es una implementación de los pasos para agregar párrafos que contienen porciones:
# Instanciar una clase Presentation que representa un archivo PPTX
$pres = new Presentation();
try {
# Accediendo a la primera diapositiva
$slide = $pres->getSlides()->get_Item(0);
# Agregar una forma automática de tipo Rectángulo
$ashp = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 150, 300, 150);
# Acceder al TextFrame de la forma automática
$tf = $ashp->getTextFrame();
# Crear párrafos y porciones con diferentes formatos de texto
$para0 = $tf->getParagraphs()->get_Item(0);
$port01 = new Portion();
$port02 = new Portion();
$para0->getPortions()->add($port01);
$para0->getPortions()->add($port02);
$para1 = new Paragraph();
$tf->getParagraphs()->add($para1);
$port10 = new Portion();
$port11 = new Portion();
$port12 = new Portion();
$para1->getPortions()->add($port10);
$para1->getPortions()->add($port11);
$para1->getPortions()->add($port12);
$para2 = new Paragraph();
$tf->getParagraphs()->add($para2);
$port20 = new Portion();
$port21 = new Portion();
$port22 = new Portion();
$para2->getPortions()->add($port20);
$para2->getPortions()->add($port21);
$para2->getPortions()->add($port22);
for($i = 0; $i < 3; $i++) {
for($j = 0; $j < 3; $j++) {
$portion = $tf->getParagraphs()->get_Item($i)->getPortions()->get_Item($j);
$portion->setText("Portion0" . $j);
if ($j == 0) {
$portion->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$portion->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->RED);
$portion->getPortionFormat()->setFontBold(NullableBool::True);
$portion->getPortionFormat()->setFontHeight(15);
} else if ($j == 1) {
$portion->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$portion->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$portion->getPortionFormat()->setFontItalic(NullableBool::True);
$portion->getPortionFormat()->setFontHeight(18);
}
}
}
# Escribir PPTX en disco
$pres->save("multiParaPort_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Gestionar viñetas de párrafo
Las listas con viñetas le ayudan a organizar y presentar información de manera rápida y eficiente. Los párrafos con viñetas son siempre más fáciles de leer y comprender.
- Cree una instancia de la clase Presentation.
- Acceda a la referencia de la diapositiva relevante a través de su índice.
- Agregue una forma automática a la diapositiva seleccionada.
- Acceda al TextFrame de la forma automática.
- Elimine el párrafo predeterminado en el
TextFrame
. - Cree la primera instancia de párrafo utilizando la clase Paragraph.
- Establezca el
Type
de viñeta del párrafo enSymbol
y establezca el carácter de viñeta. - Establezca el
Text
del párrafo. - Establezca la
Indent
del párrafo para la viñeta. - Establezca un color para la viñeta.
- Establezca una altura para la viñeta.
- Agregue el nuevo párrafo a la colección de párrafos en el
TextFrame
. - Agregue el segundo párrafo y repita el proceso dado en los pasos 7 a 13.
- Guarde la presentación.
Este código PHP le muestra cómo agregar una viñeta de párrafo:
# Instanciar una clase Presentation que representa un archivo PPTX
$pres = new Presentation();
try {
# Accediendo a la primera diapositiva
$slide = $pres->getSlides()->get_Item(0);
# Agregar y acceder a la forma automática
$aShp = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 200, 200, 400, 200);
# Acceder al marco de texto de la forma automática
$txtFrm = $aShp->getTextFrame();
# Eliminar el párrafo predeterminado
$txtFrm->getParagraphs()->removeAt(0);
# Crear un párrafo
$para = new Paragraph();
# Establecer un estilo de viñeta y símbolo para el párrafo
$para->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
$para->getParagraphFormat()->getBullet()->setChar(8226);
# Establecer el texto del párrafo
$para->setText("Bienvenido a Aspose.Slides");
# Establecer la indentación de la viñeta
$para->getParagraphFormat()->setIndent(25);
# Establecer color de la viñeta
$para->getParagraphFormat()->getBullet()->getColor()->setColorType(ColorType::RGB);
$para->getParagraphFormat()->getBullet()->getColor()->setColor(java("java.awt.Color")->BLACK);
$para->getParagraphFormat()->getBullet()->setBulletHardColor(NullableBool::True);// establecer IsBulletHardColor en verdadero para usar el color de viñeta propio
# Establecer altura de la viñeta
$para->getParagraphFormat()->getBullet()->setHeight(100);
# Agregar párrafo al marco de texto
$txtFrm->getParagraphs()->add($para);
# Crear el segundo párrafo
$para2 = new Paragraph();
# Establecer tipo y estilo de viñeta del párrafo
$para2->getParagraphFormat()->getBullet()->setType(BulletType::Numbered);
$para2->getParagraphFormat()->getBullet()->setNumberedBulletStyle(NumberedBulletStyle->BulletCircleNumWDBlackPlain);
# Agregar texto al párrafo
$para2->setText("Esta es una viñeta numerada");
# Establecer la indentación de la viñeta
$para2->getParagraphFormat()->setIndent(25);
$para2->getParagraphFormat()->getBullet()->getColor()->setColorType(ColorType::RGB);
$para2->getParagraphFormat()->getBullet()->getColor()->setColor(java("java.awt.Color")->BLACK);
$para2->getParagraphFormat()->getBullet()->setBulletHardColor(NullableBool::True);// establecer IsBulletHardColor en verdadero para usar el color de viñeta propio
# Establecer altura de la viñeta
$para2->getParagraphFormat()->getBullet()->setHeight(100);
# Agregar párrafo al marco de texto
$txtFrm->getParagraphs()->add($para2);
# Guardar la presentación modificada
$pres->save("Bullet_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Gestionar viñetas de imagen
Las listas con viñetas le ayudan a organizar y presentar información de manera rápida y eficiente. Los párrafos de imágenes son fáciles de leer y comprender.
- Cree una instancia de la clase Presentation.
- Acceda a la referencia de la diapositiva relevante a través de su índice.
- Agregue una forma automática a la diapositiva.
- Acceda al TextFrame de la forma automática.
- Elimine el párrafo predeterminado en el
TextFrame
. - Cree la primera instancia de párrafo utilizando la clase Paragraph.
- Cargue la imagen en IPPImage.
- Establezca el tipo de viñeta en Picture y establezca la imagen.
- Establezca el
Text
del párrafo. - Establezca la
Indent
del párrafo para la viñeta. - Establezca un color para la viñeta.
- Establezca una altura para la viñeta.
- Agregue el nuevo párrafo a la colección de párrafos en el
TextFrame
. - Agregue el segundo párrafo y repita el proceso basado en los pasos anteriores.
- Guarde la presentación modificada.
Este código PHP le muestra cómo agregar y gestionar viñetas de imagen:
# Instanciar una clase Presentation que representa un archivo PPTX
$presentation = new Presentation();
try {
# Accediendo a la primera diapositiva
$slide = $presentation->getSlides()->get_Item(0);
# Instanciar la imagen para las viñetas
$picture;
$image = Images->fromFile("bullets.png");
try {
$picture = $presentation->getImages()->addImage($image);
} finally {
if (!java_is_null($image)) {
$image->dispose();
}
}
# Agregar y acceder a la forma automática
$autoShape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 200, 200, 400, 200);
# Acceder al marco de texto de la forma automática
$textFrame = $autoShape->getTextFrame();
# Eliminar el párrafo predeterminado
$textFrame->getParagraphs()->removeAt(0);
# Crear un nuevo párrafo
$paragraph = new Paragraph();
$paragraph->setText("Bienvenido a Aspose.Slides");
# Establecer estilo de viñeta del párrafo y imagen
$paragraph->getParagraphFormat()->getBullet()->setType(BulletType::Picture);
$paragraph->getParagraphFormat()->getBullet()->getPicture()->setImage($picture);
# Establecer altura de la viñeta
$paragraph->getParagraphFormat()->getBullet()->setHeight(100);
# Agregar párrafo al marco de texto
$textFrame->getParagraphs()->add($paragraph);
# Escribir la presentación como un archivo PPTX
$presentation->save("ParagraphPictureBulletsPPTX_out.pptx", SaveFormat::Pptx);
# Escribir la presentación como un archivo PPT
$presentation->save("ParagraphPictureBulletsPPT_out.ppt", SaveFormat::Ppt);
} catch (JavaException $e) {
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Gestionar viñetas de múltiples niveles
Las listas con viñetas le ayudan a organizar y presentar información de manera rápida y eficiente. Las viñetas de múltiples niveles son fáciles de leer y comprender.
- Cree una instancia de la clase Presentation.
- Acceda a la referencia de la diapositiva relevante a través de su índice.
- Agregue una forma automática en la nueva diapositiva.
- Acceda al TextFrame de la forma automática.
- Elimine el párrafo predeterminado en el
TextFrame
. - Cree la primera instancia de párrafo a través de la clase Paragraph y establezca la profundidad en 0.
- Cree la segunda instancia de párrafo a través de la clase
Paragraph
y establezca la profundidad en 1. - Cree la tercera instancia de párrafo a través de la clase
Paragraph
y establezca la profundidad en 2. - Cree la cuarta instancia de párrafo a través de la clase
Paragraph
y establezca la profundidad en 3. - Agregue los nuevos párrafos a la colección de párrafos del
TextFrame
. - Guarde la presentación modificada.
Este código PHP le muestra cómo agregar y gestionar viñetas de múltiples niveles:
# Instanciar una clase Presentation que representa un archivo PPTX
$pres = new Presentation();
try {
# Accediendo a la primera diapositiva
$slide = $pres->getSlides()->get_Item(0);
# Agregar y acceder a la forma automática
$aShp = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 200, 200, 400, 200);
# Acceder al marco de texto de la forma automática creada
$text = $aShp->addTextFrame("");
# Limpiar el párrafo predeterminado
$text->getParagraphs()->clear();
# Agregar el primer párrafo
$para1 = new Paragraph();
$para1->setText("Contenido");
$para1->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
$para1->getParagraphFormat()->getBullet()->setChar(8226);
$para1->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$para1->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
# Establecer el nivel de viñeta
$para1->getParagraphFormat()->setDepth(0);
# Agregar el segundo párrafo
$para2 = new Paragraph();
$para2->setText("Segundo Nivel");
$para2->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
$para2->getParagraphFormat()->getBullet()->setChar('-');
$para2->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$para2->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
# Establecer el nivel de viñeta
$para2->getParagraphFormat()->setDepth(1);
# Agregar el tercer párrafo
$para3 = new Paragraph();
$para3->setText("Tercer Nivel");
$para3->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
$para3->getParagraphFormat()->getBullet()->setChar(8226);
$para3->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$para3->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
# Establecer el nivel de viñeta
$para3->getParagraphFormat()->setDepth(2);
# Agregar el cuarto párrafo
$para4 = new Paragraph();
$para4->setText("Cuarto Nivel");
$para4->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
$para4->getParagraphFormat()->getBullet()->setChar('-');
$para4->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$para4->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
# Establecer el nivel de viñeta
$para4->getParagraphFormat()->setDepth(3);
# Agregar párrafos a la colección
$text->getParagraphs()->add($para1);
$text->getParagraphs()->add($para2);
$text->getParagraphs()->add($para3);
$text->getParagraphs()->add($para4);
# Escribir la presentación como un archivo PPTX
$pres->save("MultilevelBullet.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Gestionar párrafos con lista numerada personalizada
La interfaz IBulletFormat proporciona la propiedad NumberedBulletStartWith y otras que le permiten gestionar párrafos con numeración o formato personalizado.
- Cree una instancia de la clase Presentation.
- Acceda a la diapositiva que contiene el párrafo.
- Agregue una forma automática a la diapositiva.
- Acceda al TextFrame de la forma automática.
- Elimine el párrafo predeterminado en el
TextFrame
. - Cree la primera instancia de párrafo a través de la clase Paragraph y establezca NumberedBulletStartWith en 2.
- Cree la segunda instancia de párrafo a través de la clase
Paragraph
y establezcaNumberedBulletStartWith
en 3. - Cree la tercera instancia de párrafo a través de la clase
Paragraph
y establezcaNumberedBulletStartWith
en 7. - Agregue los nuevos párrafos a la colección de párrafos del
TextFrame
. - Guarde la presentación modificada.
Este código PHP le muestra cómo agregar y gestionar párrafos con numeración o formato personalizado:
$presentation = new Presentation();
try {
$shape = $presentation->getSlides()->get_Item(0)->getShapes()->addAutoShape(ShapeType::Rectangle, 200, 200, 400, 200);
# Acceder al marco de texto de la forma automática creada
$textFrame = $shape->getTextFrame();
# Eliminar el párrafo predeterminado existente
$textFrame->getParagraphs()->removeAt(0);
# Primera lista
$paragraph1 = new Paragraph();
$paragraph1->setText("viñeta 2");
$paragraph1->getParagraphFormat()->setDepth(4);
$paragraph1->getParagraphFormat()->getBullet()->setNumberedBulletStartWith(2);
$paragraph1->getParagraphFormat()->getBullet()->setType(BulletType::Numbered);
$textFrame->getParagraphs()->add($paragraph1);
$paragraph2 = new Paragraph();
$paragraph2->setText("viñeta 3");
$paragraph2->getParagraphFormat()->setDepth(4);
$paragraph2->getParagraphFormat()->getBullet()->setNumberedBulletStartWith(3);
$paragraph2->getParagraphFormat()->getBullet()->setType(BulletType::Numbered);
$textFrame->getParagraphs()->add($paragraph2);
$paragraph5 = new Paragraph();
$paragraph5->setText("viñeta 7");
$paragraph5->getParagraphFormat()->setDepth(4);
$paragraph5->getParagraphFormat()->getBullet()->setNumberedBulletStartWith(7);
$paragraph5->getParagraphFormat()->getBullet()->setType(BulletType::Numbered);
$textFrame->getParagraphs()->add($paragraph5);
$presentation->save("SetCustomBulletsNumber-slides.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Establecer sangría del párrafo
- Cree una instancia de la clase Presentation.
- Acceda a la referencia de la diapositiva relevante a través de su índice.
- Agregue una forma rectangular autoshape a la diapositiva.
- Agregue un TextFrame con tres párrafos a la forma rectangular.
- Oculte las líneas del rectángulo.
- Establezca la sangría para cada Paragraph a través de su propiedad BulletOffset.
- Escriba la presentación modificada como un archivo PPT.
Este código PHP le muestra cómo establecer una sangría de párrafo:
# Instanciar clase Presentation
$pres = new Presentation();
try {
# Obtener primera diapositiva
$sld = $pres->getSlides()->get_Item(0);
# Agregar forma rectangular
$rect = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 100, 500, 150);
# Agregar TextFrame al Rectángulo
$tf = $rect->addTextFrame("Esta es la primera línea \rEsta es la segunda línea \rEsta es la tercera línea");
# Establecer el texto para que se ajuste a la forma
$tf->getTextFrameFormat()->setAutofitType(TextAutofitType::Shape);
# Ocultar las líneas del Rectángulo
$rect->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
# Obtener el primer párrafo en el TextFrame y establecer su sangría
$para1 = $tf->getParagraphs()->get_Item(0);
# Establecer estilo y símbolo de viñeta para el párrafo
$para1->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
$para1->getParagraphFormat()->getBullet()->setChar(8226);
$para1->getParagraphFormat()->setAlignment(TextAlignment->Left);
$para1->getParagraphFormat()->setDepth(2);
$para1->getParagraphFormat()->setIndent(30);
# Obtener el segundo párrafo en el TextFrame y establecer su sangría
$para2 = $tf->getParagraphs()->get_Item(1);
$para2->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
$para2->getParagraphFormat()->getBullet()->setChar(8226);
$para2->getParagraphFormat()->setAlignment(TextAlignment->Left);
$para2->getParagraphFormat()->setDepth(2);
$para2->getParagraphFormat()->setIndent(40);
# Obtener el tercer párrafo en el TextFrame y establecer su sangría
$para3 = $tf->getParagraphs()->get_Item(2);
$para3->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
$para3->getParagraphFormat()->getBullet()->setChar(8226);
$para3->getParagraphFormat()->setAlignment(TextAlignment->Left);
$para3->getParagraphFormat()->setDepth(2);
$para3->getParagraphFormat()->setIndent(50);
# Escribir la presentación en el disco
$pres->save("InOutDent_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Establecer sangría colgante para el párrafo
Este código PHP le muestra cómo establecer la sangría colgante para un párrafo:
$pres = new Presentation();
try {
$autoShape = $pres->getSlides()->get_Item(0)->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 250, 550, 150);
$para1 = new Paragraph();
$para1->setText("Ejemplo");
$para2 = new Paragraph();
$para2->setText("Establecer Sangría Colgante para Párrafo");
$para3 = new Paragraph();
$para3->setText("Este código C# muestra cómo establecer la sangría colgante para un párrafo: ");
$para2->getParagraphFormat()->setMarginLeft(10.0);
$para3->getParagraphFormat()->setMarginLeft(20.0);
$autoShape->getTextFrame()->getParagraphs()->add($para1);
$autoShape->getTextFrame()->getParagraphs()->add($para2);
$autoShape->getTextFrame()->getParagraphs()->add($para3);
$pres->save("pres.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Gestionar propiedades de ejecución final del párrafo para el párrafo
- Cree una instancia de la clase Presentation.
- Obtenga la referencia para la diapositiva que contiene el párrafo a través de su posición.
- Agregue una forma automática a la diapositiva.
- Agregue un TextFrame con dos párrafos al Rectángulo.
- Establezca el
FontHeight
y el tipo de fuente para los párrafos. - Establezca las propiedades de finalización para los párrafos.
- Escriba la presentación modificada como un archivo PPTX.
Este código PHP le muestra cómo establecer las propiedades de finalización para los párrafos en PowerPoint:
$pres = new Presentation();
try {
$shape = $pres->getSlides()->get_Item(0)->getShapes()->addAutoShape(ShapeType::Rectangle, 10, 10, 200, 250);
$para1 = new Paragraph();
$para1->getPortions()->add(new Portion("Texto de ejemplo"));
$para2 = new Paragraph();
$para2->getPortions()->add(new Portion("Texto de ejemplo 2"));
$portionFormat = new PortionFormat();
$portionFormat::setFontHeight(48);
$portionFormat::setLatinFont(new FontData("Times New Roman"));
$para2->setEndParagraphPortionFormat($portionFormat);
$shape->getTextFrame()->getParagraphs()->add($para1);
$shape->getTextFrame()->getParagraphs()->add($para2);
$pres->save($resourcesOutputPath . "pres.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Importar texto HTML en párrafos
Aspose.Slides proporciona un soporte mejorado para importar texto HTML en párrafos.
- Cree una instancia de la clase Presentation.
- Acceda a la referencia de la diapositiva relevante a través de su índice.
- Agregue una forma automática a la diapositiva.
- Agregue y acceda al
autoshape
ITextFrame. - Elimine el párrafo predeterminado en el
ITextFrame
. - Lea el archivo HTML de origen en un TextReader.
- Cree la primera instancia de párrafo a través de la clase Paragraph.
- Agregue el contenido del archivo HTML en el TextReader leído a la ParagraphCollection del TextFrame.
- Guarde la presentación modificada.
Este código PHP es una implementación de los pasos para importar textos HTML en párrafos:
# Crear instancia de presentación vacía
$pres = new Presentation();
try {
# Accesar la primera diapositiva predeterminada de la presentación
$slide = $pres->getSlides()->get_Item(0);
# Agregar la forma automática para acomodar el contenido HTML
$ashape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 10, 10, $pres->getSlideSize()->getSize()->getWidth() - 20, $pres->getSlideSize()->getSize()->getHeight() - 10);
$ashape->getFillFormat()->setFillType(FillType::NoFill);
# Agregar marco de texto a la forma
$ashape->addTextFrame("");
# Limpiar todos los párrafos en el marco de texto agregado
$ashape->getTextFrame()->getParagraphs()->clear();
# Cargar el archivo HTML usando stream reader
$tr = new StreamReader("file.html");
# Agregar texto desde el lector de flujos HTML en el marco de texto
$ashape->getTextFrame()->getParagraphs()->addFromHtml($tr->readToEnd());
# Guardar presentación
$pres->save("output_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Exportar texto de párrafos a HTML
Aspose.Slides proporciona un soporte mejorado para exportar textos (contenidos en párrafos) a HTML.
- Cree una instancia de la clase Presentation y cargue la presentación deseada.
- Acceda a la referencia de la diapositiva relevante a través de su índice.
- Acceda a la forma que contiene el texto que se exportará a HTML.
- Acceda al TextFrame de la forma.
- Cree una instancia de
StreamWriter
y agregue el nuevo archivo HTML. - Proporcione un índice inicial al StreamWriter y exporte sus párrafos preferidos.
Este código PHP le muestra cómo exportar los textos de párrafos de PowerPoint a HTML:
# Cargar el archivo de presentación
$pres = new Presentation("ExportingHTMLText.pptx");
try {
# Acceder a la primera diapositiva predeterminada de la presentación
$slide = $pres->getSlides()->get_Item(0);
# Índice deseado
$index = 0;
# Acceder a la forma añadida
$ashape = $slide->getShapes()->get_Item($index);
# Crear archivo HTML de salida
$os = new Java("java.io.FileOutputStream", "output.html");
$writer = new OutputStreamWriter($os, "UTF-8");
# Extraer primer párrafo como HTML
# Escribir los datos de párrafos en HTML proporcionando el índice inicial del párrafo, el total de párrafos que se copiarán
$writer->write($ashape->getTextFrame()->getParagraphs()->exportToHtml(0, $ashape->getTextFrame()->getParagraphs()->getCount(), null));
$writer->close();
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}