Renderizza le presentazioni con font di fallback su Android

Panoramica

Aspose.Slides consente di renderizzare 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 utilizzando il metodo FontsManager.setFontFallBackRulesCollection.

Una volta assegnata la raccolta di regole di font di fallback 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 salvataggio come immagine PNG.

Renderizzare una diapositiva usando le regole di font di fallback

Il seguente esempio comprende questi passaggi:

  1. Creiamo creare la raccolta di regole di font di fallback.
  2. Rimuovi una regola di font di fallback e addFallBackFonts a un’altra regola.
  3. Imposta la raccolta di regole su getFontsManager.getFontFallBackRulesCollection metodo.
  4. Con il metodo Presentation.save possiamo salvare la presentazione nello stesso formato o salvarla in un altro. Dopo che la raccolta di regole di font di fallback è impostata su FontsManager, queste regole vengono applicate durante tutte le operazioni 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"));

for (IFontFallBackRule fallBackRule : rulesList)
{
    //Prova a rimuovere il font FallBack "Tahoma" dalle regole caricate
    fallBackRule.remove("Tahoma");

    //E a aggiornare le regole per l'intervallo specificato
    if ((fallBackRule.getRangeEndIndex() >= 0x4000) && (fallBackRule.getRangeStartIndex() < 0x5000))
        fallBackRule.addFallBackFonts("Verdana");
}

// Inoltre possiamo rimuovere qualsiasi regola esistente dall'elenco
if (rulesList.size() > 0)
    rulesList.remove(rulesList.get_Item(0));

Presentation pres = new Presentation("input.pptx");
try {
    // Assegnando una lista di regole preparata per l'uso
    pres.getFontsManager().setFontFallBackRulesCollection(rulesList);

    // Rendering della miniatura utilizzando la raccolta di regole inizializzate e salvando in JPEG
   IImage slideImage = pres.getSlides().get_Item(0).getImage(1f, 1f);

   // Salva l'immagine su disco in formato JPEG
   try {
         slideImage.save("Slide_0.jpg", ImageFormat.Jpeg);
   } finally {
        if (slideImage != null) slideImage.dispose();
   }
} finally {
    if (pres != null) pres.dispose();
}