تبدیل ارائه‌های PowerPoint به Markdown در C++

مقدمه

Aspose.Slides به شما امکان می‌دهد ارائه‌های PowerPoint را به Markdown تبدیل کنید، که می‌تواند برای کارهای مستندسازی، تولید سایت‌های ایستا، مهاجرت محتوا و انتشار متن تحت کنترل نسخه مفید باشد. API از صادرات مستقیم ارائه‌های PPT و PPTX به فایل‌های MD پشتیبانی می‌کند و گزینه‌های اضافی برای کنترل نحوه نمایش محتوای اسلایدها در سند Markdown حاصل ارائه می‌دهد.

شما می‌توانید ارائه‌ها را به صورت Markdown ساده صادر کنید، از میان انواع مختلف Markdown مانند CommonMark و GitHub Flavored Markdown انتخاب کنید و نحوه مدیریت تصاویر هنگام صادرات را پیکربندی کنید. برای ارائه‌هایی که محتوای تصویری دارند، Aspose.Slides همچنین امکان ذخیره تصاویر در پوشه‌ای جداگانه و ارجاع به آن‌ها از فایل Markdown تولیدشده را فراهم می‌کند.

تبدیل PowerPoint به Markdown

  1. یک نمونه از کلاس Presentation را برای نمایش یک شیء ارائه ایجاد کنید.
  2. از متد 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 و ۱۷ فرمت دیگر 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);

۲۳ فرمت markdown پشتیبانی‌شده در Flavor enumeration از کلاس MarkdownSaveOptions فهرست شده‌اند.

تبدیل ارائه حاوی تصاویر به Markdown

کلاس MarkdownSaveOptions ویژگی‌ها و enumهایی را فراهم می‌کند که به شما اجازه می‌دهد برخی گزینه‌ها یا تنظیمات را برای فایل markdown حاصل استفاده کنید. به عنوان مثال enum MarkdownExportType می‌تواند به مقادیری تنظیم شود که نحوه رندر یا پردازش تصاویر را تعیین می‌کنند: Sequential، TextOnly، Visual.

تبدیل تصاویر به ترتیب

اگر می‌خواهید تصاویر به صورت جداگانه یکی پس از دیگری در markdown نهایی ظاهر شوند، باید گزینه sequential را انتخاب کنید. این کد 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 نهایی ظاهر شوند، باید گزینه visual را انتخاب کنید. در این حالت، تصاویر در دایرکتوری جاری برنامه ذخیره می‌شوند (و مسیر نسبی برای آن‌ها در سند 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 حفظ می‌شوند؟

بله. متن hyperlinks به عنوان لینک‌های استاندارد Markdown حفظ می‌شود. transitions اسلاید و animations تبدیل نمی‌شوند.

آیا می‌توانم با اجرای تبدیل در چندین رشته (thread) سرعت آن را افزایش دهم؟

می‌توانید پردازش را بر روی فایل‌ها موازی کنید، اما don’t share همان نمونهٔ Presentation را بین رشته‌ها به اشتراک نگذارید. برای هر فایل از نمونه‌ها/فرآیندهای جداگانه استفاده کنید تا از تداخل جلوگیری شود.

چه اتفاقی برای تصاویر می‌افتد—کجا ذخیره می‌شوند و آیا مسیرها نسبی هستند؟

Images به یک پوشهٔ مخصوص صادر می‌شوند و به طور پیش‌فرض فایل Markdown با مسیرهای نسبی به آن‌ها ارجاع می‌دهد. می‌توانید مسیر خروجی پایه و نام پوشهٔ دارایی‌ها را پیکربندی کنید تا ساختار مخزن پیش‌بینی‌پذیر باقی بماند.