Renderizzare presentazioni con font di fallback in .NET
Contents
[
Hide
]
Panoramica
Aspose.Slides consente di rendere presentazioni utilizzando regole di font di fallback. Questo articolo mostra come creare una raccolta di regole di font di fallback, modificare le sue regole rimuovendo o aggiungendo font di fallback e assegnare la raccolta alla proprietà FontsManager.FontFallBackRulesCollection.
Una volta che la raccolta di regole di font di fallback è assegnata al FontsManager della presentazione, le regole vengono applicate durante operazioni come il salvataggio, il rendering e la conversione della presentazione. L’esempio dimostra come utilizzare le regole configurate durante il rendering di una miniatura di diapositiva e il suo salvataggio come immagine PNG.
Esegui il rendering di una diapositiva usando regole di font di fallback
- Creiamo una collezione di regole di font di fallback.
- Remove() una regola di font di fallback e AddFallBackFonts() a un’altra regola.
- Impostare la raccolta di regole sulla proprietà FontsManager.FontFallBackRulesCollection.
- Con il metodo Presentation.Save() possiamo salvare la presentazione nello stesso formato o in un altro. Dopo che la raccolta di regole di font di fallback è impostata su FontsManager, queste regole vengono applicate durante qualsiasi operazione sulla presentazione: salvataggio, rendering, conversione, ecc.
// Crea una nuova istanza di una raccolta di regole
IFontFallBackRulesCollection rulesList = new FontFallBackRulesCollection();
// crea un numero di regole
rulesList.Add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman"));
//rulesList.Add(new FontFallBackRule(...));
foreach (IFontFallBackRule fallBackRule in rulesList)
{
// Tentativo di rimuovere il font FallBack "Tahoma" dalle regole caricate
fallBackRule.Remove("Tahoma");
// E per aggiornare le regole per l'intervallo specificato
if ((fallBackRule.RangeEndIndex >= 0x4000) && (fallBackRule.RangeStartIndex < 0x5000))
fallBackRule.AddFallBackFonts("Verdana");
}
// In questo modo possiamo rimuovere qualsiasi regola esistente dall'elenco
if (rulesList.Count > 0)
rulesList.Remove(rulesList[0]);
using (Presentation pres = new Presentation("input.pptx"))
{
// Assegnazione di un elenco di regole preparato per l'uso
pres.FontsManager.FontFallBackRulesCollection = rulesList;
// Rendering della miniatura utilizzando la raccolta di regole inizializzate e salvataggio in PNG
using (IImage image = pres.Slides[0].GetImage(1f, 1f))
{
image.Save("Slide_0.png", ImageFormat.Png);
}
}
Leggi di più su Salvataggio e conversione nella presentazione.