Konversi Presentasi PowerPoint ke Markdown dalam C++
Introduction
Aspose.Slides memungkinkan Anda mengonversi presentasi PowerPoint ke Markdown, yang dapat berguna untuk alur kerja dokumentasi, pembuatan situs statis, migrasi konten, dan penerbitan teks yang dikontrol versi. API mendukung ekspor langsung dari presentasi PPT dan PPTX ke file MD dan menyediakan opsi tambahan untuk mengontrol cara konten slide direpresentasikan dalam dokumen Markdown yang dihasilkan.
Anda dapat mengekspor presentasi sebagai Markdown biasa, memilih dari berbagai varian Markdown seperti CommonMark dan GitHub Flavored Markdown, serta mengkonfigurasi cara gambar ditangani selama ekspor. Untuk presentasi yang berisi konten visual, Aspose.Slides juga memungkinkan Anda menyimpan gambar ke folder terpisah dan merujuknya dari file Markdown yang dihasilkan.
SaveOptions::MarkdownExportType::Visual) dan juga menetapkan BasePath tempat gambar yang dirujuk dalam dokumen markdown akan disimpan.
Convert PowerPoint to Markdown
- Buat sebuah instance dari kelas Presentation untuk mewakili objek presentasi.
- Gunakan metode Save untuk menyimpan objek sebagai file markdown.
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
pres->Save(u"pres.md", SaveFormat::Md);
Convert PowerPoint to Markdown Flavor
Aspose.Slides memungkinkan Anda mengonversi PowerPoint ke markdown (yang berisi sintaks dasar), CommonMark, GitHub flavored markdown, Trello, XWiki, GitLab, dan 17 varian markdown lainnya.
Kode C++ berikut menunjukkan cara mengonversi PowerPoint ke 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 varian markdown yang didukung terdaftar di enumerasi Flavor pada kelas MarkdownSaveOptions.
Convert a Presentation Containing Images to Markdown
Kelas MarkdownSaveOptions menyediakan properti dan enumerasi yang memungkinkan Anda menggunakan opsi atau pengaturan tertentu untuk file markdown yang dihasilkan. Enum MarkdownExportType, misalnya, dapat diatur ke nilai yang menentukan bagaimana gambar dirender atau ditangani: Sequential, TextOnly, Visual.
Convert Images Sequentially
Jika Anda menginginkan gambar muncul secara berurutan satu per satu dalam markdown yang dihasilkan, Anda harus memilih opsi sequential. Kode C++ berikut menunjukkan cara mengonversi presentasi yang berisi gambar ke 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);
Convert Images Visually
Jika Anda menginginkan gambar muncul bersama-sama dalam markdown yang dihasilkan, Anda harus memilih opsi visual. Dalam kasus ini, gambar akan disimpan ke direktori kerja aplikasi (dan jalur relatif akan dibuat untuk mereka dalam dokumen markdown), atau Anda dapat menentukan jalur dan nama folder yang diinginkan.
Kode C++ berikut mendemonstrasikan operasi tersebut:
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
Do hyperlinks survive the export to Markdown?
Ya. Teks hyperlinks dipertahankan sebagai tautan Markdown standar. transitions dan animations slide tidak dikonversi.
Can I speed up conversion by running it in multiple threads?
Anda dapat memparalelkan proses per file, tetapi don’t share instance Presentation yang sama di antara thread. Gunakan instance/proses terpisah per file untuk menghindari kontensi.
What happens to images—where are they saved, and are the paths relative?
Images diekspor ke folder khusus, dan file Markdown merujuknya dengan jalur relatif secara default. Anda dapat mengonfigurasi jalur output dasar dan nama folder aset untuk menjaga struktur repositori yang dapat diprediksi.