Rendre les présentations avec des polices de secours dans .NET

Contents
[ ]

L’exemple suivant comprend ces étapes :

  1. Nous créer une collection de règles de polices de secours.
  2. Remove() une règle de police de secours et AddFallBackFonts() à une autre règle.
  3. Définissez la collection de règles sur la propriété FontsManager.FontFallBackRulesCollection.
  4. Avec la méthode Presentation.Save() nous pouvons enregistrer la présentation au même format, ou l’enregistrer dans un autre. Après que la collection de règles de polices de secours soit définie dans FontsManager, ces règles sont appliquées lors de toute opération sur la présentation : enregistrement, rendu, conversion, etc.
// Créer une nouvelle instance d'une collection de règles
IFontFallBackRulesCollection rulesList = new FontFallBackRulesCollection();

// créer un certain nombre de règles
rulesList.Add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman"));
//rulesList.Add(new FontFallBackRule(...));

foreach (IFontFallBackRule fallBackRule in rulesList)
{
	//Essayer de supprimer la police de secours "Tahoma" des règles chargées
	fallBackRule.Remove("Tahoma");

	//Et mettre à jour les règles pour la plage spécifiée
	if ((fallBackRule.RangeEndIndex >= 0x4000) && (fallBackRule.RangeStartIndex < 0x5000))
		fallBackRule.AddFallBackFonts("Verdana");
}

//Nous pouvons également supprimer toutes les règles existantes de la liste
if (rulesList.Count > 0)
	rulesList.Remove(rulesList[0]);

using (Presentation pres = new Presentation("input.pptx"))
{
    //Attribuer une liste de règles préparée pour l'utilisation
    pres.FontsManager.FontFallBackRulesCollection = rulesList;

    // Rendu de la miniature en utilisant la collection de règles initialisée et en l'enregistrant au format PNG
    using (IImage image = pres.Slides[0].GetImage(1f, 1f))
    {
        image.Save("Slide_0.png", ImageFormat.Png);
    }
}