Convertir PowerPoint a Word

Si planeas utilizar contenido textual o información de una presentación (PPT o PPTX) de nuevas maneras, puedes beneficiarte al convertir la presentación a Word (DOC o DOCX).

  • En comparación con Microsoft PowerPoint, la aplicación Microsoft Word está más equipada con herramientas o funcionalidades para contenido.
  • Además de las funciones de edición en Word, también puedes beneficiarte de características mejoradas de colaboración, impresión y compartición.

Aspose.Slides y Aspose.Words

Para convertir un archivo de PowerPoint (PPTX o PPT) a Word (DOCX o DOC), necesitas tanto Aspose.Slides para Java como Aspose.Words para Java.

Como una API independiente, Aspose.Slides para Java proporciona funciones que te permiten extraer textos de presentaciones.

Aspose.Words es una API avanzada de procesamiento de documentos que permite a las aplicaciones generar, modificar, convertir, renderizar, imprimir archivos y realizar otras tareas con documentos sin utilizar Microsoft Word.

Convertir PowerPoint a Word

  1. Descarga las bibliotecas Aspose.Slides para Java y Aspose.Words para Java.
  2. Agrega aspose-slides-x.x-jdk16.jar y aspose-words-x.x-jdk16.jar a tu CLASSPATH.
  3. Usa este fragmento de código para convertir PowerPoint a Word:
Presentation pres = new Presentation("sample.pptx");

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

for (ISlide slide : pres.getSlides()) {
    // genera una imagen de diapositiva como un stream de bytes
    IImage image = slide.getImage(1, 1);
    ByteArrayOutputStream imageStream = new ByteArrayOutputStream();
    image.save(imageStream, ImageFormat.Png);
    image.dispose();

    builder.insertImage(imageStream.toByteArray());

    // inserta los textos de la diapositiva
    for (IShape shape : slide.getShapes()) {
        if (shape instanceof AutoShape) {
            builder.writeln(((AutoShape) shape).getTextFrame().getText());
        }
    }

    builder.insertBreak(BreakType.PAGE_BREAK);
}

doc.save("output.docx");
pres.dispose();