Конвертировать PowerPoint в Markdown на JavaScript

Конвертация PowerPoint в Markdown

  1. Создайте экземпляр класса Presentation для представления объекта презентации.
  2. Используйте метод save для сохранения объекта в файл markdown.

Этот JavaScript‑код демонстрирует, как конвертировать PowerPoint в markdown:

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

Конвертация PowerPoint в различные варианты markdown

Aspose.Slides позволяет конвертировать PowerPoint в markdown (с базовым синтаксисом), CommonMark, GitHub‑flavored markdown, Trello, XWiki, GitLab и ещё 17 вариантов markdown.

Этот JavaScript‑код показывает, как конвертировать PowerPoint в 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();
    }
}

23 поддерживаемых варианта markdown перечислены в перечислении Flavor класса MarkdownSaveOptions.

Конвертация презентации с изображениями в Markdown

Класс MarkdownSaveOptions предоставляет свойства и перечисления, позволяющие задать параметры для результирующего markdown‑файла. Перечисление MarkdownExportType может принимать значения, определяющие способ обработки изображений: Sequential, TextOnly, Visual.

Последовательная конвертация изображений

Если требуется, чтобы изображения появлялись по одному в результирующем markdown, выберите вариант Sequential. Этот JavaScript‑код демонстрирует, как конвертировать презентацию с изображениями в 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();
    }
}

Визуальная конвертация изображений

Если нужно, чтобы изображения отображались вместе в результирующем markdown, выберите вариант Visual. В этом случае изображения сохраняются в текущий каталог приложения (и в markdown‑документе будет построен относительный путь), либо можно указать свой путь и имя папки.

Этот JavaScript‑код демонстрирует процесс:

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

Сохраняются ли гиперссылки при экспорте в Markdown?

Да. Текстовые гиперссылки сохраняются как обычные ссылки Markdown. Переходы и анимации слайдов не конвертируются.

Можно ли ускорить конвертацию, запустив её в нескольких потоках?

Можно выполнять параллельную обработку файлов, но не следует делить один и тот же объект Presentation между потоками. Используйте отдельные экземпляры или процессы для каждого файла, чтобы избежать конфликтов.

Что происходит с изображениями — где они сохраняются и являются ли пути относительными?

Изображения экспортируются в отдельную папку, а markdown‑файл по умолчанию ссылается на них относительными путями. Можно настроить базовый путь вывода и имя папки ресурсов, чтобы обеспечить предсказуемую структуру репозитория.