عرض العرض التقديمي باستخدام خط احتياطي

Contents
[ ]

يتضمن المثال التالي هذه الخطوات:

  1. نحن منشئون مجموعة قواعد الخطوط الاحتياطية.
  2. Remove() قاعدة خط احتياطي و AddFallBackFonts() إلى قاعدة أخرى.
  3. تعيين مجموعة القواعد إلى FontsManager::set_FontFallBackRulesCollection() الخاصية.
  4. باستخدام 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)
{
	// محاولة إزالة خط الاحتياطي "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");
// تعيين قائمة القواعد المعدة للاستخدام
pres->get_FontsManager()->set_FontFallBackRulesCollection(rulesList);

// عرض الصورة المصغرة باستخدام مجموعة القواعد المهيأة وحفظها إلى PNG
auto image = pres->get_Slide(0)->GetImage(1.f, 1.f);
image->Save(u"Slide_0.png", ImageFormat::Png);
image->Dispose();

pres->Dispose();