Конвертировать презентации PowerPoint в Markdown на Java
markdownSaveOptions.setExportType(MarkdownExportType.Visual) и задать BasePath, куда будут сохраняться изображения, используемые в markdown‑документе.
Преобразовать PowerPoint в Markdown
- Создайте экземпляр класса Presentation для представления объекта презентации.
- Используйте метод Save для сохранения объекта в файл markdown.
Этот Java‑код демонстрирует, как преобразовать PowerPoint в markdown:
Presentation pres = new Presentation("pres.pptx");
try {
pres.save("pres.md", SaveFormat.Md);
} finally {
if (pres != null) pres.dispose();
}
Преобразовать PowerPoint в вариант Markdown
Aspose.Slides позволяет конвертировать PowerPoint в markdown (с базовым синтаксисом), CommonMark, GitHub‑flavored markdown, Trello, XWiki, GitLab и ещё 17 вариантов markdown.
Этот Java‑код демонстрирует, как преобразовать PowerPoint в CommonMark:
Presentation pres = new Presentation("pres.pptx");
try {
MarkdownSaveOptions markdownSaveOptions = new MarkdownSaveOptions();
markdownSaveOptions.setFlavor(Flavor.CommonMark);
pres.save("pres.md", SaveFormat.Md, markdownSaveOptions);
} finally {
if (pres != null) pres.dispose();
}
23 поддерживаемых варианта markdown перечислены в Flavor enumeration класса MarkdownSaveOptions.
Преобразовать презентацию с изображениями в Markdown
Класс MarkdownSaveOptions предоставляет свойства и перечисления, позволяющие задать различные параметры результирующего markdown‑файла. Перечисление MarkdownExportType может принимать значения, определяющие способ обработки изображений: Sequential, TextOnly, Visual.
Преобразовать изображения последовательно
Если необходимо, чтобы изображения отображались по одному последовательно в результирующем markdown, выбирайте опцию последовательной обработки. Этот Java‑код показывает, как преобразовать презентацию с изображениями в markdown:
Presentation pres = new Presentation("pres.pptx");
try {
MarkdownSaveOptions markdownSaveOptions = new MarkdownSaveOptions();
markdownSaveOptions.setShowHiddenSlides(true);
markdownSaveOptions.setShowSlideNumber(true);
markdownSaveOptions.setFlavor(Flavor.Github);
markdownSaveOptions.setExportType(MarkdownExportType.Sequential);
markdownSaveOptions.setNewLineType(NewLineType.Windows);
pres.save("doc.md", new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }, SaveFormat.Md, markdownSaveOptions);
} finally {
if (pres != null) pres.dispose();
}
Преобразовать изображения визуально
Если нужно, чтобы изображения отображались вместе в результирующем markdown, выбирайте визуальную опцию. В этом случае изображения сохраняются в текущий каталог приложения (для них формируется относительный путь в markdown‑документе) или вы можете указать собственный путь и имя папки.
Этот Java‑код демонстрирует данную операцию:
Presentation pres = new Presentation("pres.pptx");
try {
final String outPath = "c:/documents";
MarkdownSaveOptions markdownSaveOptions = new MarkdownSaveOptions();
markdownSaveOptions.setExportType(MarkdownExportType.Visual);
markdownSaveOptions.setImagesSaveFolderName("md-images");
markdownSaveOptions.setBasePath(outPath);
pres.save("pres.md", SaveFormat.Md, markdownSaveOptions);
} finally {
if (pres != null) pres.dispose();
}
Часто задаваемые вопросы
Сохраняются ли гиперссылки при экспорте в Markdown?
Да. Текстовые hyperlinks сохраняются как стандартные Markdown‑ссылки. transitions и animations слайдов не конвертируются.
Можно ли ускорить конвертацию, запустив её в нескольких потоках?
Можно параллелить работу по файлам, но don’t share один и тот же объект Presentation между потоками. Используйте отдельные экземпляры/процессы для каждого файла, чтобы избежать конфликтов.
Что происходит с изображениями — где они сохраняются и являются ли пути относительными?
Images экспортируются в отдельную папку, а Markdown‑файл по умолчанию ссылается на них относительными путями. Вы можете настроить базовый путь вывода и имя папки ресурсов, чтобы поддерживать предсказуемую структуру репозитория.