Rendre les présentations avec des polices de secours sur Android

Contents
[ ]

L’exemple suivant comprend ces étapes :

  1. Nous créer une collection de règles de polices de secours.
  2. Supprimer une règle de police de secours et addFallBackFonts à une autre règle.
  3. Définissez la collection de règles sur la méthode getFontsManager.getFontFallBackRulesCollection .
  4. Avec la méthode Presentation.save nous pouvons enregistrer la présentation dans le même format, ou l’enregistrer dans un autre. Après que la collection de règles de polices de secours soit définie sur FontsManager, ces règles sont appliquées lors de toutes les opérations 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"));

for (IFontFallBackRule fallBackRule : 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.getRangeEndIndex() >= 0x4000) && (fallBackRule.getRangeStartIndex() < 0x5000))
        fallBackRule.addFallBackFonts("Verdana");
}

//Nous pouvons également supprimer toutes les règles existantes de la liste
if (rulesList.size() > 0)
    rulesList.remove(rulesList.get_Item(0));

Presentation pres = new Presentation("input.pptx");
try {
    //Attribuer une liste de règles préparée pour l'utilisation
    pres.getFontsManager().setFontFallBackRulesCollection(rulesList);

    // Rendu de la miniature en utilisant la collection de règles initialisée et en l'enregistrant au format JPEG
   IImage slideImage = pres.getSlides().get_Item(0).getImage(1f, 1f);

   //Enregistrer l'image sur le disque au format JPEG
   try {
         slideImage.save("Slide_0.jpg", ImageFormat.Jpeg);
   } finally {
        if (slideImage != null) slideImage.dispose();
   }
} finally {
    if (pres != null) pres.dispose();
}