Rendre une présentation avec une police de secours

Contents
[ ]

L’exemple suivant comprend ces étapes :

  1. Nous créons une collection de règles de police de secours.
  2. Supprimez une règle de police de secours et ajoutezFallBackFonts à une autre règle.
  3. Définissez la collection de règles sur getFontsManager.getFontFallBackRulesCollection méthode.
  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 police de secours soit définie sur FontsManager, ces règles sont appliquées lors de toutes les opérations sur la présentation : sauvegarde, rendu, conversion, etc.
  # Créer une nouvelle instance d'une collection de règles
  $rulesList = new FontFallBackRulesCollection();
  # créer un certain nombre de règles
  $rulesList->add(new FontFallBackRule(0x400, 0x4ff, "Times New Roman"));
  foreach($rulesList as $fallBackRule) {
    # Essayer de supprimer la police de secours "Tahoma" des règles chargées
    $fallBackRule->remove("Tahoma");
    # Et pour mettre à jour les règles pour la plage spécifiée
    if (java_values($fallBackRule->getRangeEndIndex()) >= 0x4000 && java_values($fallBackRule->getRangeStartIndex()) < 0x5000) {
      $fallBackRule->addFallBackFonts("Verdana");
    }
  }
  # Nous pouvons également supprimer toutes les règles existantes de la liste
  if (java_values($rulesList->size()) > 0) {
    $rulesList->remove($rulesList->get_Item(0));
  }
  $pres = new Presentation("input.pptx");
  try {
    # Assigner une liste de règles préparée pour utilisation
    $pres->getFontsManager()->setFontFallBackRulesCollection($rulesList);
    # Rendu de la miniature en utilisant la collection de règles initialisée et sauvegarde au format JPEG
    $slideImage = $pres->getSlides()->get_Item(0)->getImage(1.0, 1.0);
    # Enregistrez l'image sur le disque au format JPEG
    try {
      $slideImage->save("Slide_0.jpg", ImageFormat::Jpeg);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }