عرض العروض التقديمية باستخدام خطوط احتياطية في C++
Contents
[
Hide
]
المثال التالي يتضمن الخطوات التالية:
- نحن إنشاء مجموعة قواعد الخط الاحتياطي.
- Remove() قاعدة خط احتياطي وAddFallBackFonts() إلى قاعدة أخرى.
- مرّر مجموعة القواعد إلى FontsManager::set_FontFallBackRulesCollection() .
- باستخدام طريقة Presentation::Save() يمكننا حفظ العرض التقديمي بنفس التنسيق أو حفظه بتنسيق آخر. بعد ضبط مجموعة قواعد الخط الاحتياطي في FontsManager، تُطبق هذه القواعد خلال أي عملية على العرض التقديمي: الحفظ، أو العرض، أو التحويل، إلخ.
// إنشاء نسخة جديدة من مجموعة القواعد
auto rulesList = MakeObject<FontFallBackRulesCollection>();
// إنشاء عدد من القواعد
rulesList->Add(MakeObject<FontFallBackRule>(static_cast<uint32_t>(0x400), static_cast<uint32_t>(0x4FF), u"Times New Roman"));
//rulesList.Add(new FontFallBackRule(...));
for (const auto& fallBackRule : rulesList)
{
// محاولة إزالة خط FallBack "Tahoma" من القواعد المحملة
fallBackRule->Remove(u"Tahoma");
// ولتحديث القواعد للنطاق المحدد
if ((fallBackRule->get_RangeEndIndex() >= static_cast<uint32_t>(0x4000)) &&
(fallBackRule->get_RangeStartIndex() < static_cast<uint32_t>(0x5000)))
{
fallBackRule->AddFallBackFonts(u"Verdana");
}
}
// يمكننا أيضًا إزالة أي قواعد موجودة من القائمة
if (rulesList->get_Count() > 0)
{
rulesList->Remove(rulesList->idx_get(0));
}
auto pres = System::MakeObject<Presentation>(u"input.pptx");
// Assigning a prepared rules list for using
pres->get_FontsManager()->set_FontFallBackRulesCollection(rulesList);
// Rendering of thumbnail with using of initialized rules collection and saving to PNG
auto image = pres->get_Slide(0)->GetImage(1.f, 1.f);
image->Save(u"Slide_0.png", ImageFormat::Png);
image->Dispose();
pres->Dispose();
اقرأ المزيد حول كيفية تحويل شرائح PowerPoint إلى PNG في C++.