Recuperar y actualizar propiedades de vista de la presentación en PHP

Acerca de INormalViewProperties

Representa las propiedades de vista normal.

Los métodos getShowOutlineIcons y setShowOutlineIcons especifican si la aplicación debe mostrar iconos al mostrar contenido de esquema en cualquiera de las regiones de contenido del modo de vista normal.

Los métodos getSnapVerticalSplitter y setSnapVerticalSplitter especifican si el divisor vertical debe ajustarse a un estado minimizado cuando la región lateral es lo suficientemente pequeña.

La propiedad getPreferSingleView y setPreferSingleView especifican si el usuario prefiere ver una región de contenido única a pantalla completa en lugar de la vista normal estándar con tres regiones de contenido. Si está activada, la aplicación puede elegir mostrar una de las regiones de contenido en toda la ventana.

Los métodos getVerticalBarState y getHorizontalBarState especifican el estado en el que debe mostrarse la barra divisor horizontal o vertical. Una barra divisor horizontal separa la diapositiva de la región de contenido situada bajo la diapositiva; una barra divisor vertical separa la diapositiva de la región de contenido lateral. Los valores posibles son: SplitterBarStateType::Minimized, SplitterBarStateType::Maximized y SplitterBarStateType::Restored.

Los métodos getRestoredLeft y getRestoredTop especifican el dimensionado de la región superior o lateral de la diapositiva de la vista normal, cuando se aplica el valor SplitterBarStateType::Restored a getVerticalBarState y a getHorizontalBarState respectivamente.

Acerca de restaurar INormalViewProperties

Especifica el dimensionado de la región de la diapositiva (anchura cuando es hijo de getRestoredTop, altura cuando es hijo de getRestoredLeft) de la vista normal, cuando la región tiene un tamaño restaurado variable (ni minimizado ni maximizado).

El método getDimensionSize especifica el tamaño de la región de la diapositiva (anchura cuando es hijo de restoredTop, altura cuando es hijo de restoredLeft).

El método getAutoAdjust especifica si el tamaño de la región de contenido lateral debe compensar el nuevo tamaño al redimensionar la ventana que contiene la vista dentro de la aplicación.

A continuación se muestra un ejemplo que indica cómo acceder a las propiedades ViewProperties::getNormalViewProperties de una presentación.

  $pres = new Presentation();
  try {
    $pres->getViewProperties()->getNormalViewProperties()->setHorizontalBarState(SplitterBarStateType::Restored);
    $pres->getViewProperties()->getNormalViewProperties()->setVerticalBarState(SplitterBarStateType::Maximized);

    # Restaurar las propiedades de vista de la presentación
    $pres->getViewProperties()->getNormalViewProperties()->getRestoredTop()->setAutoAdjust(true);
    $pres->getViewProperties()->getNormalViewProperties()->getRestoredTop()->setDimensionSize(80);
    $pres->getViewProperties()->getNormalViewProperties()->setShowOutlineIcons(true);
    $pres->save("presentation_normal_view_state.pptx", SaveFormat::Pptx);
  } finally {
    $pres->dispose();
  }

Establecer el valor de zoom predeterminado

Para establecer las propiedades de vista, siga los pasos a continuación:

  1. Cree una instancia de la clase Presentation.
  2. Configure las View Properties de Presentation.
  3. Guarde la presentación como un archivo PPTX. En el ejemplo que se muestra a continuación, hemos establecido el valor de zoom tanto para la vista de diapositiva como para la vista de notas.
  $presentation = new Presentation();
  try {
    # Configurar las propiedades de vista de la presentación
    $presentation->getViewProperties()->getSlideViewProperties()->setScale(100); // Valor de zoom en porcentaje para la vista de diapositiva
    $presentation->getViewProperties()->getNotesViewProperties()->setScale(100); // Valor de zoom en porcentaje para la vista de notas

    $presentation->save("Zoom_out.pptx", SaveFormat::Pptx);
  } finally {
    $presentation->dispose();
  }

Preguntas frecuentes

¿Puedo establecer diferentes configuraciones de vista para distintas secciones de una presentación?

Los view settings se definen a nivel de presentación (Normal View/Slide View), no por sección, por lo que un único conjunto de parámetros se aplica a todo el documento cuando se abre.

¿Puedo predefinir diferentes estados de vista para distintos usuarios?

No. Los ajustes se almacenan en el archivo y se comparten. Las aplicaciones de visualización pueden respetar las preferencias del usuario, pero el propio archivo contiene un único conjunto de propiedades de vista.

¿Puedo preparar una plantilla con View Properties predefinidas para que las nuevas presentaciones se abran de la misma forma?

Sí. Como los view properties se guardan a nivel de presentación, puede incrustarlos en una plantilla y crear nuevos documentos a partir de ella con la misma configuración de vista inicial.