Prezentációk renderelése fallback betűkészletekkel .NET-ben
Áttekintés
Az Aspose.Slides lehetővé teszi, hogy előre definiált betűkészlet-szabályokkal renderelje a prezentációkat. Ez a cikk bemutatja, hogyan hozhat létre egy fallback betűkészlet-szabályok gyűjteményt, hogyan módosíthatja szabályait a fallback betűkészletek eltávolításával vagy hozzáadásával, és hogyan rendelheti a gyűjteményt a FontsManager.FontFallBackRulesCollection tulajdonsághoz.
Miután a fallback betűkészlet-szabályok gyűjteménye hozzá van rendelve a prezentáció FontsManager-éhez, a szabályok a mentés, a renderelés és a prezentáció konvertálása során kerülnek alkalmazásra. A példa bemutatja, hogyan használhatók a beállított szabályok egy diákkép bélyegképének renderelésekor és PNG képként való mentésekor.
Dia renderelése fallback betűkészlet-szabályok használatával
A következő példa ezeket a lépéseket tartalmazza:
- Létrehozzuk a fallback betűkészlet-szabályok gyűjteményét.
- Eltávolítjuk (Remove()) a fallback betűkészlet-szabályt, és hozzáadjuk a AddFallBackFonts() egy másik szabályhoz.
- A szabálygyűjteményt beállítjuk a FontsManager.FontFallBackRulesCollection tulajdonsághoz.
- A Presentation.Save() metódussal menthetjük a prezentációt ugyanabban a formátumban, vagy egy másikban. Miután a fallback betűkészlet-szabályok gyűjteménye be van állítva a FontsManager‑ben, ezek a szabályok minden prezentáció‑művelet során alkalmazásra kerülnek: mentés, renderelés, konvertálás stb.
// Új szabálygyűjtemény példány létrehozása
IFontFallBackRulesCollection rulesList = new FontFallBackRulesCollection();
// néhány szabály létrehozása
rulesList.Add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman"));
//rulesList.Add(new FontFallBackRule(...));
foreach (IFontFallBackRule fallBackRule in rulesList)
{
//Megpróbáljuk eltávolítani a "Tahoma" fallback betűkészletet a betöltött szabályokból
fallBackRule.Remove("Tahoma");
//És a szabályok frissítése a megadott tartományhoz
if ((fallBackRule.RangeEndIndex >= 0x4000) && (fallBackRule.RangeStartIndex < 0x5000))
fallBackRule.AddFallBackFonts("Verdana");
}
//Ezenkívül eltávolíthatunk bármilyen meglévő szabályt a listáról
if (rulesList.Count > 0)
rulesList.Remove(rulesList[0]);
using (Presentation pres = new Presentation("input.pptx"))
{
//Az előkészített szabálygyűjtemény hozzárendelése a használathoz
pres.FontsManager.FontFallBackRulesCollection = rulesList;
// Bélyegkép renderelése az előkészített szabálygyűjtemény használatával, majd mentés PNG formátumban
using (IImage image = pres.Slides[0].GetImage(1f, 1f))
{
image.Save("Slide_0.png", ImageFormat.Png);
}
}