Convertir PowerPoint a Markdown en JavaScript

Convertir PowerPoint a Markdown

  1. Crea una instancia de la clase Presentation para representar un objeto de presentación.
  2. Utiliza el método save para guardar el objeto como un archivo markdown.

Este código JavaScript muestra cómo convertir PowerPoint a markdown:

var pres = new aspose.slides.Presentation("pres.pptx");
try {
    pres.save("pres.md", aspose.slides.SaveFormat.Md);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Convertir PowerPoint a un sabor de Markdown

Aspose.Slides permite convertir PowerPoint a markdown (con sintaxis básica), CommonMark, markdown con sabor de GitHub, Trello, XWiki, GitLab y 17 sabores de markdown adicionales.

Este código JavaScript muestra cómo convertir PowerPoint a CommonMark:

var pres = new aspose.slides.Presentation("pres.pptx");
try {
    var markdownSaveOptions = new aspose.slides.MarkdownSaveOptions();
    markdownSaveOptions.setFlavor(aspose.slides.Flavor.CommonMark);
    pres.save("pres.md", aspose.slides.SaveFormat.Md, markdownSaveOptions);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Los 23 sabores de markdown compatibles están listados bajo la enumeración Flavor de la clase MarkdownSaveOptions.

Convertir presentación con imágenes a Markdown

La clase MarkdownSaveOptions proporciona propiedades y enumeraciones que permiten usar ciertas opciones o configuraciones para el archivo markdown resultante. La enumeración MarkdownExportType, por ejemplo, puede establecerse en valores que determinan cómo se renderizan o manejan las imágenes: Sequential, TextOnly, Visual.

Convertir imágenes secuencialmente

Si deseas que las imágenes aparezcan individualmente una tras otra en el markdown resultante, debes elegir la opción secuencial. Este código JavaScript muestra cómo convertir una presentación con imágenes a markdown:

var pres = new aspose.slides.Presentation("pres.pptx");
try {
    var markdownSaveOptions = new aspose.slides.MarkdownSaveOptions();
    markdownSaveOptions.setShowHiddenSlides(true);
    markdownSaveOptions.setShowSlideNumber(true);
    markdownSaveOptions.setFlavor(aspose.slides.Flavor.Github);
    markdownSaveOptions.setExportType(aspose.slides.MarkdownExportType.Sequential);
    markdownSaveOptions.setNewLineType(aspose.slides.NewLineType.Windows);
    pres.save("doc.md", java.newArray("int", [1, 2, 3, 4, 5, 6, 7, 8, 9]), aspose.slides.SaveFormat.Md, markdownSaveOptions);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Convertir imágenes visualmente

Si deseas que las imágenes aparezcan juntas en el markdown resultante, debes elegir la opción visual. En este caso, las imágenes se guardarán en el directorio actual de la aplicación (y se construirá una ruta relativa para ellas en el documento markdown), o puedes especificar la ruta y el nombre de carpeta que prefieras.

Este código JavaScript demuestra la operación:

var pres = new aspose.slides.Presentation("pres.pptx");
try {
    final var outPath = "c:/documents";
    var markdownSaveOptions = new aspose.slides.MarkdownSaveOptions();
    markdownSaveOptions.setExportType(aspose.slides.MarkdownExportType.Visual);
    markdownSaveOptions.setImagesSaveFolderName("md-images");
    markdownSaveOptions.setBasePath(outPath);
    pres.save("pres.md", aspose.slides.SaveFormat.Md, markdownSaveOptions);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

FAQ

¿Los hipervínculos sobreviven a la exportación a Markdown?

Sí. Los hipervínculos del texto se conservan como enlaces Markdown estándar. Las transiciones y animaciones de diapositivas no se convierten.

¿Puedo acelerar la conversión ejecutándola en varios hilos?

Puedes paralelizar entre archivos, pero no compartas la misma instancia de Presentation entre hilos. Usa instancias/procesos separados por archivo para evitar contención.

¿Qué ocurre con las imágenes —dónde se guardan y son las rutas relativas?

Las imágenes se exportan a una carpeta dedicada, y el archivo Markdown las referencia con rutas relativas por defecto. Puedes configurar la ruta de salida base y el nombre de la carpeta de recursos para mantener una estructura de repositorio predecible.