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:

  1. Létrehozzuk a fallback betűkészlet-szabályok gyűjteményét.
  2. Eltávolítjuk (Remove()) a fallback betűkészlet-szabályt, és hozzáadjuk a AddFallBackFonts() egy másik szabályhoz.
  3. A szabálygyűjteményt beállítjuk a FontsManager.FontFallBackRulesCollection tulajdonsághoz.
  4. 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);
    }
}