Recuperar y actualizar propiedades de vista de la presentación en Python mediante Java

Introducción

La vista normal consta de tres regiones de contenido: la diapositiva en sí, una región de contenido lateral y una región de contenido inferior. Las propiedades de la vista normal describen la posición de estas regiones de contenido. Esta información permite que la aplicación guarde su estado de vista en el archivo, de modo que al volver a abrirse la vista esté en el mismo estado que cuando la presentación se guardó por última vez.

Se ha añadido el método ViewProperties.getNormalViewProperties para proporcionar acceso a las propiedades de la vista normal de una presentación.

Se han añadido las clases NormalViewProperties y NormalViewRestoredProperties y la enumeración SplitterBarStateType.

Acerca de NormalViewProperties

Representa las propiedades de la 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.

Los métodos getPreferSingleView y setPreferSingleView especifican si el usuario prefiere ver una única región de contenido a pantalla completa en lugar de la vista normal estándar con tres regiones de contenido. Si está habilitado, 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 debajo de 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 tamaño de la región de diapositiva superior o lateral de la vista normal, cuando el valor SplitterBarStateType.Restored se aplica a getVerticalBarState y getHorizontalBarState, respectivamente.

Acerca de restaurar NormalViewProperties

Especifica el tamaño de la región de diapositiva (ancho 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 diapositiva (ancho cuando es hijo de getRestoredTop, altura cuando es hijo de getRestoredLeft).

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.

El ejemplo siguiente muestra cómo acceder a ViewProperties.getNormalViewProperties para una presentación.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, SplitterBarStateType

presentation = Presentation()
try:
    normal_view_properties = presentation.getViewProperties().getNormalViewProperties()
    normal_view_properties.setHorizontalBarState(SplitterBarStateType.Restored)
    normal_view_properties.setVerticalBarState(SplitterBarStateType.Maximized)

    # Restaurar las propiedades de vista de la presentación.
    normal_view_properties.getRestoredTop().setAutoAdjust(True)
    normal_view_properties.getRestoredTop().setDimensionSize(80)
    normal_view_properties.setShowOutlineIcons(True)

    presentation.save("presentation_normal_view_state.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Establecer el valor de zoom predeterminado

Para establecer las propiedades de vista, siga estos pasos:

  1. Cree una instancia de la clase Presentation.
  2. Establezca las View Properties de Presentation.
  3. Guarde la presentación como un archivo PPTX.

En el ejemplo siguiente, establecemos el valor de zoom tanto para la vista de diapositiva como para la vista de notas.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation()
try:
    # Establecer las propiedades de vista de la presentación.
    presentation.getViewProperties().getSlideViewProperties().setScale(100)  # Porcentaje de zoom para la vista de diapositiva.
    presentation.getViewProperties().getNotesViewProperties().setScale(100)  # Porcentaje de zoom 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?

Las 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. Las configuraciones se almacenan en el archivo y se comparten. Las aplicaciones visor 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 manera?

Sí. Dado que las view properties se almacenan a nivel de presentación, puede incorporarlas en una plantilla y crear nuevos documentos a partir de ella con la misma configuración de vista inicial.