Rendu des présentations avec des polices de secours en Java

Contents
[ ]

L’exemple suivant comprend ces étapes :

  1. Nous create fallback font rules collection.
  2. Remove 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 la sauvegarder dans un autre. Après que la collection de règles de police 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ée une nouvelle instance d'une collection de règles
IFontFallBackRulesCollection rulesList = new FontFallBackRulesCollection();

// create a number of rules
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 {
    //Affectation d'une liste de règles préparée à utiliser
    pres.getFontsManager().setFontFallBackRulesCollection(rulesList);

    //Rendu de la miniature en utilisant la collection de règles initialisée et en 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();
}