Преобразовать презентации PowerPoint в Markdown на C++
SaveOptions::MarkdownExportType::Visual) и также задать BasePath, куда будут сохранены изображения, на которые ссылается markdown‑документ.
Преобразование PowerPoint в Markdown
- Создайте экземпляр класса Presentation, представляющего объект презентации.
- Используйте метод Save для сохранения объекта в markdown‑файл.
Этот код C++ показывает, как преобразовать PowerPoint в markdown:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
pres->Save(u"pres.md", SaveFormat::Md);
Преобразование PowerPoint в варианты Markdown
Aspose.Slides позволяет конвертировать PowerPoint в markdown (с базовым синтаксисом), CommonMark, GitHub flavored markdown, Trello, XWiki, GitLab и еще 17 вариантов markdown.
Этот код C++ показывает, как преобразовать PowerPoint в CommonMark:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
auto opt = System::MakeObject<MarkdownSaveOptions>();
opt->set_Flavor(Aspose::Slides::DOM::Export::Markdown::SaveOptions::Flavor::CommonMark);
pres->Save(u"pres.md", Aspose::Slides::Export::SaveFormat::Md, opt);
23 поддерживаемых варианта markdown перечислены в Flavor enumeration класса MarkdownSaveOptions.
Преобразование презентации с изображениями в Markdown
Класс MarkdownSaveOptions предоставляет свойства и перечисления, позволяющие задавать различные параметры для получаемого markdown‑файла. Перечисление MarkdownExportType можно, например, установить в значения, определяющие способ отображения или обработки изображений: Sequential, TextOnly, Visual.
Преобразование изображений последовательно
Если вы хотите, чтобы изображения появлялись по отдельности одно за другим в получаемом markdown, нужно выбрать опцию последовательного экспорта. Этот код C++ показывает, как преобразовать презентацию с изображениями в markdown:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
System::SharedPtr<MarkdownSaveOptions> markdownSaveOptions = System::MakeObject<MarkdownSaveOptions>();
markdownSaveOptions->set_ShowHiddenSlides(true);
markdownSaveOptions->set_ShowSlideNumber(true);
markdownSaveOptions->set_Flavor(Flavor::Github);
markdownSaveOptions->set_ExportType(MarkdownExportType::Sequential);
markdownSaveOptions->set_NewLineType(NewLineType::Windows);
pres->Save(u"doc.md", System::MakeArray<int32_t>({1, 2, 3, 4, 5, 6, 7, 8, 9}), SaveFormat::Md, markdownSaveOptions);
Преобразование изображений визуально
Если вы хотите, чтобы изображения отображались вместе в получаемом markdown, нужно выбрать визуальную опцию. В этом случае изображения будут сохранены в текущий каталог приложения (и в markdown‑документе будет построен относительный путь к ним), либо вы можете указать собственный путь и имя папки.
Этот код C++ демонстрирует операцию:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
const System::String outPath = u"x:\\documents";
auto opt = System::MakeObject<MarkdownSaveOptions>();
opt->set_ExportType(Aspose::Slides::DOM::Export::Markdown::SaveOptions::MarkdownExportType::Visual);
opt->set_ImagesSaveFolderName(u"md-images");
opt->set_BasePath(outPath);
pres->Save(System::IO::Path::Combine(outPath, u"pres.md"), Aspose::Slides::Export::SaveFormat::Md, opt);
Часто задаваемые вопросы
Сохраняются ли гиперссылки при экспорте в Markdown?
Да. Текстовые гиперссылка сохраняются как стандартные ссылки Markdown. Переходы слайдов transitions и animations не конвертируются.
Могу ли я ускорить конвертацию, запустив её в нескольких потоках?
Вы можете выполнять параллельную обработку файлов, но не следует делить один и тот же объект Presentation между потоками. Используйте отдельные экземпляры/процессы для каждого файла, чтобы избежать конфликтов.
Что происходит с изображениями — где они сохраняются и являются ли пути относительными?
Images экспортируются в отдельную папку, а Markdown‑файл по умолчанию ссылается на них относительными путями. Вы можете настроить базовый путь вывода и имя папки ресурсов, чтобы поддерживать предсказуемую структуру репозитория.