Rendre une présentation avec une police de secours

Contents
[ ]

L’exemple suivant inclut ces étapes :

  1. Nous créons une collection de règles de police de secours.
  2. Remove() une règle de police de secours et AddFallBackFonts() à une autre règle.
  3. Définir la collection de règles à FontsManager::set_FontFallBackRulesCollection() propriété.
  4. Avec Presentation::Save() méthode nous pouvons enregistrer la présentation dans le même format, ou l’enregistrer dans un autre. Après que la collection de règles de police de secours est définie pour FontsManager, ces règles sont appliquées lors de toutes les opérations sur la présentation : enregistrer, rendre, convertir, etc.
// Créer une nouvelle instance d'une collection de règles
auto rulesList = MakeObject<FontFallBackRulesCollection>();

// Créer un certain nombre de règles
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)
{
	// Essayer de retirer la police de secours "Tahoma" des règles chargées
	fallBackRule->Remove(u"Tahoma");

	// Et mettre à jour les règles pour la plage spécifiée
	if ((fallBackRule->get_RangeEndIndex() >= static_cast<uint32_t>(0x4000)) && 
		(fallBackRule->get_RangeStartIndex() < static_cast<uint32_t>(0x5000)))
	{
		fallBackRule->AddFallBackFonts(u"Verdana");
	}
}

// Nous pouvons également retirer toutes les règles existantes de la liste
if (rulesList->get_Count() > 0)
{
	rulesList->Remove(rulesList->idx_get(0));
}

auto pres = System::MakeObject<Presentation>(u"input.pptx");
// Attribution d'une liste de règles préparées pour utilisation
pres->get_FontsManager()->set_FontFallBackRulesCollection(rulesList);

// Rendu de la miniature en utilisant la collection de règles initialisée et sauvegarde en PNG
auto image = pres->get_Slide(0)->GetImage(1.f, 1.f);
image->Save(u"Slide_0.png", ImageFormat::Png);
image->Dispose();

pres->Dispose();