Comparar diapositivas de presentación en PHP

Comparar dos diapositivas

Se ha añadido el método Equals a la clase BaseSlide. Devuelve true para las diapositivas/disposición y las diapositivas maestras que son idénticas por su estructura y contenido estático.

Dos diapositivas son iguales si todas las formas, estilos, textos, animaciones y otros ajustes, etc., son iguales. La comparación no tiene en cuenta los valores de identificadores únicos, p.ej. SlideId y el contenido dinámico, p.ej. el valor de la fecha actual en el marcador de posición de fecha.

  $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();
  }

Preguntas frecuentes

¿El hecho de que una diapositiva esté oculta afecta la comparación de las propias diapositivas?

Estado oculto es una propiedad a nivel de presentación/reproducción, no de contenido visual. La igualdad de dos diapositivas específicas se determina por su estructura y contenido estático; el mero hecho de que una diapositiva esté oculta no hace que las diapositivas sean diferentes.

¿Se tienen en cuenta los hipervínculos y sus parámetros?

Sí. Los enlaces forman parte del contenido estático de una diapositiva. Si la URL o la acción del hipervínculo difieren, generalmente se considera una diferencia en el contenido estático.

Si un gráfico hace referencia a un archivo Excel externo, ¿se tendrá en cuenta el contenido de ese archivo?

No. La comparación se realiza basándose en las propias diapositivas. Las fuentes de datos externas generalmente no se leen en el momento de la comparación; solo se considera lo que está presente en la estructura y el estado estático de la diapositiva.