Administrar párrafos de PowerPoint en Java
Aspose.Slides proporciona todas las interfaces y clases que necesitas para trabajar con textos, párrafos y porciones de PowerPoint en Java.
- Aspose.Slides proporciona la interfaz ITextFrame para permitirte agregar objetos que representan un párrafo. Un objeto
ITextFrame
puede tener uno o varios párrafos (cada párrafo se crea a través de un retorno de carro). - Aspose.Slides proporciona la interfaz IParagraph para permitirte agregar objetos que representan porciones. Un objeto
IParagraph
puede tener una o varias porciones (colección de objetos iPortions). - Aspose.Slides proporciona la interfaz IPortion para permitirte 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 IPortion
subyacentes.
Agregar múltiples párrafos que contengan múltiples porciones
Estos pasos te muestran cómo agregar un marco de texto que contenga 3 párrafos y cada párrafo contenga 3 porciones:
- Crea una instancia de la clase Presentation.
- Accede a la referencia de la diapositiva relevante a través de su índice.
- Agrega un IAutoShape Rectángulo a la diapositiva.
- Obtén el ITextFrame asociado con el IAutoShape.
- Crea dos objetos IParagraph y agrégales a la colección
IParagraphs
del ITextFrame. - Crea tres objetos IPortion para cada nuevo
IParagraph
(dos objetos Portion para el párrafo por defecto) y agrega cada objetoIPortion
a la colección IPortion de cadaIParagraph
. - Establece algún texto para cada porción.
- Aplica tus características de formato preferidas a cada porción utilizando las propiedades de formato expuestas por el objeto
IPortion
. - Guarda la presentación modificada.
Este código Java es una implementación de los pasos para agregar párrafos que contienen porciones:
// Instancia una clase Presentation que representa un archivo PPTX
Presentation pres = new Presentation();
try {
// Accediendo a la primera diapositiva
ISlide slide = pres.getSlides().get_Item(0);
// Agrega un AutoShape de tipo Rectángulo
IAutoShape ashp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 300, 150);
// Accede al TextFrame del AutoShape
ITextFrame tf = ashp.getTextFrame();
// Crea Párrafos y Porciones con diferentes formatos de texto
IParagraph para0 = tf.getParagraphs().get_Item(0);
IPortion port01 = new Portion();
IPortion port02 = new Portion();
para0.getPortions().add(port01);
para0.getPortions().add(port02);
IParagraph para1 = new Paragraph();
tf.getParagraphs().add(para1);
IPortion port10 = new Portion();
IPortion port11 = new Portion();
IPortion port12 = new Portion();
para1.getPortions().add(port10);
para1.getPortions().add(port11);
para1.getPortions().add(port12);
IParagraph para2 = new Paragraph();
tf.getParagraphs().add(para2);
IPortion port20 = new Portion();
IPortion port21 = new Portion();
IPortion port22 = new Portion();
para2.getPortions().add(port20);
para2.getPortions().add(port21);
para2.getPortions().add(port22);
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
IPortion 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(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(Color.BLUE);
portion.getPortionFormat().setFontItalic(NullableBool.True);
portion.getPortionFormat().setFontHeight(18);
}
}
}
//Escribe PPTX en el disco
pres.save("multiParaPort_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Gestionar viñetas en párrafos
Las listas con viñetas te ayudan a organizar y presentar información de manera rápida y eficiente. Los párrafos con viñetas siempre son más fáciles de leer y comprender.
- Crea una instancia de la clase Presentation.
- Accede a la referencia de la diapositiva relevante a través de su índice.
- Agrega un autoshape a la diapositiva seleccionada.
- Accede al TextFrame del autoshape.
- Elimina el párrafo por defecto en el
TextFrame
. - Crea la primera instancia de párrafo utilizando la clase Paragraph.
- Establece el
Tipo
de viñeta para el párrafo comoSímbolo
y establece el carácter de la viñeta. - Establece el
Texto
del párrafo. - Establece la
Sangría
del párrafo para la viñeta. - Establece un color para la viñeta.
- Establece una altura para la viñeta.
- Agrega el nuevo párrafo a la colección de párrafos del
TextFrame
. - Agrega el segundo párrafo y repite el proceso dado en los pasos 7 a 13.
- Guarda la presentación.
Este código Java te muestra cómo agregar una viñeta de párrafo:
// Instancia una clase Presentation que representa un archivo PPTX
Presentation pres = new Presentation();
try {
// Accede a la primera diapositiva
ISlide slide = pres.getSlides().get_Item(0);
// Agrega y accede al Autoshape
IAutoShape aShp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);
// Accede al marco de texto del autoshape
ITextFrame txtFrm = aShp.getTextFrame();
// Elimina el párrafo por defecto
txtFrm.getParagraphs().removeAt(0);
// Crea un párrafo
Paragraph para = new Paragraph();
// Establece un estilo de viñeta de párrafo y símbolo
para.getParagraphFormat().getBullet().setType(BulletType.Symbol);
para.getParagraphFormat().getBullet().setChar((char)8226);
// Establece el texto del párrafo
para.setText("Bienvenido a Aspose.Slides");
// Establece la sangría de la viñeta
para.getParagraphFormat().setIndent(25);
// Establece el color de la viñeta
para.getParagraphFormat().getBullet().getColor().setColorType(ColorType.RGB);
para.getParagraphFormat().getBullet().getColor().setColor(Color.BLACK);
para.getParagraphFormat().getBullet().setBulletHardColor(NullableBool.True); // establece IsBulletHardColor como verdadero para usar el color de viñeta propio
// Establece la altura de la viñeta
para.getParagraphFormat().getBullet().setHeight(100);
// Agrega el párrafo al marco de texto
txtFrm.getParagraphs().add(para);
// Crea el segundo párrafo
Paragraph para2 = new Paragraph();
// Establece el tipo y estilo de viñeta del párrafo
para2.getParagraphFormat().getBullet().setType(BulletType.Numbered);
para2.getParagraphFormat().getBullet().setNumberedBulletStyle(NumberedBulletStyle.BulletCircleNumWDBlackPlain);
// Agrega el texto del párrafo
para2.setText("Este es un párrafo numerado");
// Establece la sangría de la viñeta
para2.getParagraphFormat().setIndent(25);
para2.getParagraphFormat().getBullet().getColor().setColorType(ColorType.RGB);
para2.getParagraphFormat().getBullet().getColor().setColor(Color.BLACK);
para2.getParagraphFormat().getBullet().setBulletHardColor(NullableBool.True); // establece IsBulletHardColor como verdadero para usar el color de viñeta propio
// Establece la altura de la viñeta
para2.getParagraphFormat().getBullet().setHeight(100);
// Agrega el párrafo al marco de texto
txtFrm.getParagraphs().add(para2);
// Guarda la presentación modificada
pres.save("Bullet_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Administrar viñetas de imagen
Las listas con viñetas te ayudan a organizar y presentar información de manera rápida y eficiente. Los párrafos con imágenes son fáciles de leer y comprender.
- Crea una instancia de la clase Presentation.
- Accede a la referencia de la diapositiva relevante a través de su índice.
- Agrega un autoshape a la diapositiva.
- Accede al TextFrame del autoshape.
- Elimina el párrafo por defecto en el
TextFrame
. - Crea la primera instancia de párrafo utilizando la clase Paragraph.
- Carga la imagen en IPPImage.
- Establece el tipo de viñeta como Imagen y establece la imagen.
- Establece el
Texto
del párrafo. - Establece la
Sangría
del párrafo para la viñeta. - Establece un color para la viñeta.
- Establece una altura para la viñeta.
- Agrega el nuevo párrafo a la colección de párrafos del
TextFrame
. - Agrega el segundo párrafo y repite el proceso basado en los pasos anteriores.
- Guarda la presentación modificada.
Este código Java te muestra cómo agregar y gestionar viñetas de imagen:
// Instancia una clase Presentation que representa un archivo PPTX
Presentation presentation = new Presentation();
try {
// Accede a la primera diapositiva
ISlide slide = presentation.getSlides().get_Item(0);
// Instancia la imagen para bulletes
IPPImage picture;
IImage image = Images.fromFile("bullets.png");
try {
picture = presentation.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
// Agrega y accede al Autoshape
IAutoShape autoShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);
// Accede al textframe del autoshape
ITextFrame textFrame = autoShape.getTextFrame();
// Elimina el párrafo por defecto
textFrame.getParagraphs().removeAt(0);
// Crea un nuevo párrafo
Paragraph paragraph = new Paragraph();
paragraph.setText("Bienvenido a Aspose.Slides");
// Establece el estilo de viñeta de párrafo y la imagen
paragraph.getParagraphFormat().getBullet().setType(BulletType.Picture);
paragraph.getParagraphFormat().getBullet().getPicture().setImage(picture);
// Establece la altura de la viñeta
paragraph.getParagraphFormat().getBullet().setHeight(100);
// Agrega el párrafo al marco de texto
textFrame.getParagraphs().add(paragraph);
// Escribe la presentación como un archivo PPTX
presentation.save("ParagraphPictureBulletsPPTX_out.pptx", SaveFormat.Pptx);
// Escribe la presentación como un archivo PPT
presentation.save("ParagraphPictureBulletsPPT_out.ppt", SaveFormat.Ppt);
} catch (IOException e) {
} finally {
if (presentation != null) presentation.dispose();
}
Gestionar viñetas de múltiples niveles
Las listas con viñetas te 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.
- Crea una instancia de la clase Presentation.
- Accede a la referencia de la diapositiva relevante a través de su índice.
- Agrega un autoshape en la nueva diapositiva.
- Accede al TextFrame del autoshape.
- Elimina el párrafo por defecto en el
TextFrame
. - Crea la primera instancia de párrafo a través de la clase Paragraph y establece la profundidad en 0.
- Crea la segunda instancia de párrafo a través de la clase
Paragraph
y establece la profundidad en 1. - Crea la tercera instancia de párrafo a través de la clase
Paragraph
y establece la profundidad en 2. - Crea la cuarta instancia de párrafo a través de la clase
Paragraph
y establece la profundidad en 3. - Agrega los nuevos párrafos a la colección de párrafos del
TextFrame
. - Guarda la presentación modificada.
Este código Java te muestra cómo agregar y gestionar viñetas de múltiples niveles:
// Instancia una clase Presentation que representa un archivo PPTX
Presentation pres = new Presentation();
try {
// Accede a la primera diapositiva
ISlide slide = pres.getSlides().get_Item(0);
// Agrega y accede al Autoshape
IAutoShape aShp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);
// Accede al marco de texto del autoshape creado
ITextFrame text = aShp.addTextFrame("");
// Limpia el párrafo por defecto
text.getParagraphs().clear();
// Agrega el primer párrafo
IParagraph para1 = new Paragraph();
para1.setText("Contenido");
para1.getParagraphFormat().getBullet().setType(BulletType.Symbol);
para1.getParagraphFormat().getBullet().setChar((char)8226);
para1.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
para1.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
// Establece el nivel de la viñeta
para1.getParagraphFormat().setDepth((short)0);
// Agrega el segundo párrafo
IParagraph 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(Color.BLACK);
// Establece el nivel de la viñeta
para2.getParagraphFormat().setDepth((short)1);
// Agrega el tercer párrafo
IParagraph para3 = new Paragraph();
para3.setText("Tercer Nivel");
para3.getParagraphFormat().getBullet().setType(BulletType.Symbol);
para3.getParagraphFormat().getBullet().setChar((char)8226);
para3.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
para3.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
// Establece el nivel de la viñeta
para3.getParagraphFormat().setDepth((short)2);
// Agrega el cuarto párrafo
IParagraph 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(Color.BLACK);
// Establece el nivel de la viñeta
para4.getParagraphFormat().setDepth((short)3);
// Agrega los párrafos a la colección
text.getParagraphs().add(para1);
text.getParagraphs().add(para2);
text.getParagraphs().add(para3);
text.getParagraphs().add(para4);
// Escribe la presentación como un archivo PPTX
pres.save("MultilevelBullet.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Gestionar párrafo con lista numerada personalizada
La interfaz IBulletFormat proporciona la propiedad NumberedBulletStartWith y otras que te permiten gestionar párrafos con numeración o formato personalizado.
- Crea una instancia de la clase Presentation.
- Accede a la diapositiva que contiene el párrafo.
- Agrega un autoshape a la diapositiva.
- Accede al TextFrame del autoshape.
- Elimina el párrafo por defecto en el
TextFrame
. - Crea la primera instancia de párrafo a través de la clase Paragraph y establece NumberedBulletStartWith en 2.
- Crea la segunda instancia de párrafo a través de la clase
Paragraph
y estableceNumberedBulletStartWith
en 3. - Crea la tercera instancia de párrafo a través de la clase
Paragraph
y estableceNumberedBulletStartWith
en 7. - Agrega los nuevos párrafos a la colección de párrafos del
TextFrame
. - Guarda la presentación modificada.
Este código Java te muestra cómo agregar y gestionar párrafos con numeración o formato personalizado:
Presentation presentation = new Presentation();
try {
IAutoShape shape = presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);
// Accede al marco de texto del autoshape creado
ITextFrame textFrame = shape.getTextFrame();
// Elimina el párrafo existente por defecto
textFrame.getParagraphs().removeAt(0);
// Primer párrafo
Paragraph paragraph1 = new Paragraph();
paragraph1.setText("viñeta 2");
paragraph1.getParagraphFormat().setDepth((short)4);
paragraph1.getParagraphFormat().getBullet().setNumberedBulletStartWith((short)2);
paragraph1.getParagraphFormat().getBullet().setType(BulletType.Numbered);
textFrame.getParagraphs().add(paragraph1);
Paragraph paragraph2 = new Paragraph();
paragraph2.setText("viñeta 3");
paragraph2.getParagraphFormat().setDepth((short)4);
paragraph2.getParagraphFormat().getBullet().setNumberedBulletStartWith((short)3);
paragraph2.getParagraphFormat().getBullet().setType(BulletType.Numbered);
textFrame.getParagraphs().add(paragraph2);
Paragraph paragraph5 = new Paragraph();
paragraph5.setText("viñeta 7");
paragraph5.getParagraphFormat().setDepth((short)4);
paragraph5.getParagraphFormat().getBullet().setNumberedBulletStartWith((short)7);
paragraph5.getParagraphFormat().getBullet().setType(BulletType.Numbered);
textFrame.getParagraphs().add(paragraph5);
presentation.save("SetCustomBulletsNumber-slides.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
Establecer sangría en párrafo
- Crea una instancia de la clase Presentation.
- Accede a la referencia de la diapositiva relevante a través de su índice.
- Agrega un autoshape Rectángulo a la diapositiva.
- Agrega un TextFrame con tres párrafos al autoshape.
- Oculta las líneas del rectángulo.
- Establece la sangría para cada Paragraph a través de su propiedad BulletOffset.
- Escribe la presentación modificada como un archivo PPT.
Este código Java te muestra cómo establecer una sangría en un párrafo:
// Instancia la clase Presentation
Presentation pres = new Presentation();
try {
// Obtiene la primera diapositiva
ISlide sld = pres.getSlides().get_Item(0);
// Agrega una forma rectangular
IAutoShape rect = sld.getShapes().addAutoShape(ShapeType.Rectangle, 100, 100, 500, 150);
// Agrega un TextFrame al rectángulo
ITextFrame tf = rect.addTextFrame("Esta es la primera línea \rEsta es la segunda línea \rEsta es la tercera línea");
// Ajusta el texto para que se ajuste a la forma
tf.getTextFrameFormat().setAutofitType(TextAutofitType.Shape);
// Oculta las líneas del rectángulo
rect.getLineFormat().getFillFormat().setFillType(FillType.Solid);
// Obtiene el primer párrafo en el TextFrame y establece su sangría
IParagraph para1 = tf.getParagraphs().get_Item(0);
// Estableciendo el estilo de viñeta y símbolo del párrafo
para1.getParagraphFormat().getBullet().setType(BulletType.Symbol);
para1.getParagraphFormat().getBullet().setChar((char)8226);
para1.getParagraphFormat().setAlignment(TextAlignment.Left);
para1.getParagraphFormat().setDepth((short)2);
para1.getParagraphFormat().setIndent(30);
// Obtiene el segundo párrafo en el TextFrame y establece su sangría
IParagraph para2 = tf.getParagraphs().get_Item(1);
para2.getParagraphFormat().getBullet().setType(BulletType.Symbol);
para2.getParagraphFormat().getBullet().setChar((char)8226);
para2.getParagraphFormat().setAlignment(TextAlignment.Left);
para2.getParagraphFormat().setDepth((short)2);
para2.getParagraphFormat().setIndent(40);
// Obtiene el tercer párrafo en el TextFrame y establece su sangría
IParagraph para3 = tf.getParagraphs().get_Item(2);
para3.getParagraphFormat().getBullet().setType(BulletType.Symbol);
para3.getParagraphFormat().getBullet().setChar((char)8226);
para3.getParagraphFormat().setAlignment(TextAlignment.Left);
para3.getParagraphFormat().setDepth((short)2);
para3.getParagraphFormat().setIndent(50);
//Escribe la presentación en disco
pres.save("InOutDent_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Establecer sangría colgante en párrafo
Este código Java te muestra cómo establecer la sangría colgante para un párrafo:
Presentation pres = new Presentation();
try {
IAutoShape autoShape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 50, 250, 550, 150);
Paragraph para1 = new Paragraph();
para1.setText("Ejemplo");
Paragraph para2 = new Paragraph();
para2.setText("Establecer sangría colgante para párrafo");
Paragraph para3 = new Paragraph();
para3.setText("Este código C# te muestra cómo establecer la sangría colgante para un párrafo: ");
para2.getParagraphFormat().setMarginLeft(10f);
para3.getParagraphFormat().setMarginLeft(20f);
autoShape.getTextFrame().getParagraphs().add(para1);
autoShape.getTextFrame().getParagraphs().add(para2);
autoShape.getTextFrame().getParagraphs().add(para3);
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Gestionar propiedades de ejecución final del párrafo
- Crea una instancia de la clase Presentation.
- Obtiene la referencia para la diapositiva que contiene el párrafo a través de su posición.
- Agrega un autoshape a la diapositiva.
- Agrega un TextFrame con dos párrafos al rectángulo.
- Establece el
FontHeight
y el tipo de fuente para los párrafos. - Establece las propiedades finales para los párrafos.
- Escribe la presentación modificada como un archivo PPTX.
Este código Java te muestra cómo establecer las propiedades finales para los párrafos en PowerPoint:
Presentation pres = new Presentation();
try {
IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 10, 10, 200, 250);
Paragraph para1 = new Paragraph();
para1.getPortions().add(new Portion("Texto de ejemplo"));
Paragraph para2 = new Paragraph();
para2.getPortions().add(new Portion("Texto de ejemplo 2"));
PortionFormat 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 (pres != null) pres.dispose();
}
Importar texto HTML a párrafos
Aspose.Slides proporciona un mejor soporte para importar texto HTML a párrafos.
- Crea una instancia de la clase Presentation.
- Accede a la referencia de la diapositiva relevante a través de su índice.
- Agrega un autoshape a la diapositiva.
- Agrega y accede al
autoshape
ITextFrame. - Elimina el párrafo por defecto en el
ITextFrame
. - Lee el archivo HTML de origen en un TextReader.
- Crea la primera instancia de párrafo a través de la clase Paragraph.
- Agrega el contenido del archivo HTML en el TextReader leído a la colección de ParagraphCollection del TextFrame.
- Guarda la presentación modificada.
Este código Java es una implementación de los pasos para importar textos HTML en párrafos:
// Crea una instancia vacía de presentación
Presentation pres = new Presentation();
try {
// Accede a la primera diapositiva por defecto de la presentación
ISlide slide = pres.getSlides().get_Item(0);
// Añadiendo el AutoShape para acomodar el contenido HTML
IAutoShape ashape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 10, 10,
(float)pres.getSlideSize().getSize().getWidth() - 20, (float)pres.getSlideSize().getSize().getHeight() - 10);
ashape.getFillFormat().setFillType(FillType.NoFill);
// Añadiendo marco de texto a la forma
ashape.addTextFrame("");
// Limpiando todos los párrafos en el marco de texto añadido
ashape.getTextFrame().getParagraphs().clear();
// Cargando el archivo HTML utilizando un lector de flujo
TextReader tr = new StreamReader("file.html");
// Añadiendo el texto del lector de flujo HTML al marco de texto
ashape.getTextFrame().getParagraphs().addFromHtml(tr.readToEnd());
// Guardando la presentación
pres.save("output_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Exportar texto de párrafos a HTML
Aspose.Slides proporciona un mejor soporte para exportar textos (contenidos en párrafos) a HTML.
- Crea una instancia de la clase Presentation y carga la presentación deseada.
- Accede a la referencia de la diapositiva relevante a través de su índice.
- Accede a la forma que contiene el texto que se exportará a HTML.
- Accede al TextFrame de la forma.
- Crea una instancia de
StreamWriter
y agrega el nuevo archivo HTML. - Proporciona un índice de inicio a StreamWriter y exporta los párrafos que prefieras.
Este código Java te muestra cómo exportar los textos de párrafo de PowerPoint a HTML:
// Carga el archivo de presentación
Presentation pres = new Presentation("ExportingHTMLText.pptx");
try {
// Accede a la primera diapositiva por defecto de la presentación
ISlide slide = pres.getSlides().get_Item(0);
// Índice deseado
int index = 0;
// Acceso a la forma añadida
IAutoShape ashape = (IAutoShape) slide.getShapes().get_Item(index);
// Crea el archivo HTML de salida
OutputStream os = new FileOutputStream("output.html");
Writer writer = new OutputStreamWriter(os, "UTF-8");
// Extrae el primer párrafo como HTML
// Escribe los datos de los 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 (IOException e) {
} finally {
if (pres != null) pres.dispose();
}