Convertir des présentations PowerPoint en Markdown en C++
SaveOptions::MarkdownExportType::Visual) et également définir le BasePath où les images référencées dans le document markdown seront enregistrées.
Convertir PowerPoint en Markdown
- Créez une instance de la classe Presentation pour représenter un objet présentation.
- Utilisez la méthode Save pour enregistrer l’objet en tant que fichier markdown.
Ce code C++ vous montre comment convertir PowerPoint en markdown :
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
pres->Save(u"pres.md", SaveFormat::Md);
Convertir PowerPoint en variante Markdown
Aspose.Slides vous permet de convertir PowerPoint en markdown (avec une syntaxe de base), CommonMark, Markdown à la manière de GitHub, Trello, XWiki, GitLab, et 17 autres variantes de markdown.
Ce code C++ vous montre comment convertir PowerPoint en 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);
Les 23 variantes markdown prises en charge sont listées sous l’énumération Flavor de la classe MarkdownSaveOptions.
Convertir une présentation contenant des images en Markdown
La classe MarkdownSaveOptions fournit des propriétés et des énumérations qui vous permettent d’utiliser certaines options ou paramètres pour le fichier markdown résultant. L’énumération MarkdownExportType, par exemple, peut être définie sur des valeurs qui déterminent comment les images sont rendues ou gérées : Sequential, TextOnly, Visual.
Convertir les images séquentiellement
Si vous souhaitez que les images apparaissent individuellement, les unes après les autres, dans le markdown résultant, vous devez choisir l’option séquentielle. Ce code C++ vous montre comment convertir une présentation contenant des images en 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);
Convertir les images visuellement
Si vous souhaitez que les images apparaissent ensemble dans le markdown résultant, vous devez choisir l’option visuelle. Dans ce cas, les images seront enregistrées dans le répertoire actuel de l’application (et un chemin relatif sera créé pour elles dans le document markdown), ou vous pouvez spécifier le chemin et le nom de dossier de votre choix.
Ce code C++ démontre l’opération :
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);
FAQ
Les hyperliens survivent-ils à l’exportation vers Markdown ?
Oui. Le texte hyperlinks est conservé sous forme de liens Markdown standard. Les transitions et les animations des diapositives ne sont pas convertis.
Puis-je accélérer la conversion en l’exécutant sur plusieurs threads ?
Vous pouvez paralléliser par fichier, mais ne partagez pas la même instance de Presentation entre les threads. Utilisez des instances/processus séparés par fichier pour éviter les conflits.
Que se passe-t-il avec les images — où sont‑elles enregistrées, et les chemins sont‑ils relatifs ?
Les Images sont exportées vers un dossier dédié, et le fichier Markdown les référence avec des chemins relatifs par défaut. Vous pouvez configurer le chemin de sortie de base et le nom du dossier d’actifs pour maintenir une structure de dépôt prévisible.