Render Presentations with Fallback Fonts in .NET
Contents
[
Hide
]
L’exemple suivant comprend ces étapes :
- Nous créons une collection de règles de police de secours.
- Supprimez une règle de police de secours avec Remove() et ajoutez‑la à une autre règle avec AddFallBackFonts().
- Définissez la collection de règles sur la propriété FontsManager.FontFallBackRulesCollection.
- Avec la méthode Presentation.Save() nous pouvons enregistrer la présentation dans le même format ou dans un autre. Après avoir défini la collection de règles de police de secours sur 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 enregistrant en PNG
using (IImage image = pres.Slides[0].GetImage(1f, 1f))
{
image.Save("Slide_0.png", ImageFormat.Png);
}
}
En savoir plus sur Enregistrement et conversion dans la présentation.