Comparer les diapositives de présentation en PHP

Comparer deux diapositives

La méthode Equals a été ajoutée à la classe BaseSlide. Elle renvoie true pour les diapositives/dispositions et les diapositives maître qui sont identiques par leur structure et leur contenu statique.

Deux diapositives sont égales si toutes les formes, styles, textes, animations et autres paramètres, etc. sont égaux. La comparaison ne tient pas compte des valeurs d’identifiants uniques, par exemple SlideId, ni du contenu dynamique, par exemple la valeur de date actuelle dans le texte de remplacement Date.

  $presentation1 = new Presentation("AccessSlides.pptx");
  try {
    $presentation2 = new Presentation("HelloWorld.pptx");
    try {
      for($i = 0; $i < java_values($presentation1->getMasters()->size()) ; $i++) {
        for($j = 0; $j < java_values($presentation2->getMasters()->size()) ; $j++) {
          if ($presentation1->getMasters()->get_Item($i)->equals($presentation2->getMasters()->get_Item($j))) {
            echo(sprintf("SomePresentation1 MasterSlide#%d is equal to SomePresentation2 MasterSlide#%d", $i, $j));
          }
        }
      }
    } finally {
      $presentation2->dispose();
    }
  } finally {
    $presentation1->dispose();
  }

FAQ

Le fait qu’une diapositive soit masquée affecte-t‑il la comparaison des diapositives elles‑mêmes ?

Le Hidden status est une propriété au niveau de la présentation/la lecture, pas du contenu visuel. L’égalité de deux diapositives spécifiques est déterminée par leur structure et leur contenu statique ; le simple fait qu’une diapositive soit masquée ne rend pas les diapositives différentes.

Les hyperliens et leurs paramètres sont‑ils pris en compte ?

Oui. Les liens font partie du contenu statique d’une diapositive. Si l’URL ou l’action de l’hyperlien diffèrent, cela est généralement considéré comme une différence de contenu statique.

Si un graphique fait référence à un fichier Excel externe, le contenu de ce fichier sera‑t‑il pris en compte ?

Non. La comparaison s’effectue sur les diapositives elles‑mêmes. Les sources de données externes ne sont généralement pas lues au moment de la comparaison ; seul ce qui est présent dans la structure et l’état statique de la diapositive est pris en considération.