Recuperar e Atualizar Propriedades de Visualização da Apresentação em Java

Introdução

A visualização normal consiste em três regiões de conteúdo: o slide propriamente dito, uma região de conteúdo lateral e uma região de conteúdo inferior. Propriedades referentes ao posicionamento das diferentes regiões de conteúdo. Essas informações permitem que o aplicativo salve seu estado de visualização no arquivo, de modo que, ao ser reaberto, a visualização esteja no mesmo estado em que a apresentação foi salva pela última vez.

O método IViewProperties.getNormalViewProperties foi adicionado para fornecer acesso às propriedades da visualização normal da apresentação.

Foram adicionadas as interfaces INormalViewProperties, INormalViewRestoredProperties e seus descendentes, bem como o enum SplitterBarStateType.

Sobre INormalViewProperties

Representa as propriedades da visualização normal.

Os métodos getShowOutlineIcons e setShowOutlineIcons especificam se o aplicativo deve mostrar ícones ao exibir o contorno do conteúdo em qualquer das regiões de conteúdo do modo de visualização normal.

Os métodos getSnapVerticalSplitter e setSnapVerticalSplitter especificam se o divisor vertical deve “snapar” para um estado minimizado quando a região lateral está suficientemente pequena.

A propriedade getPreferSingleView e setPreferSingleView especificam se o usuário prefere ver uma única região de conteúdo em tela cheia em vez da visualização normal padrão com três regiões de conteúdo. Se ativado, o aplicativo pode optar por exibir uma das regiões de conteúdo em toda a janela.

Os métodos getVerticalBarState e getHorizontalBarState especificam o estado em que a barra divisor horizontal ou vertical deve ser exibida. Uma barra divisor horizontal separa o slide da região de conteúdo abaixo do slide; a barra divisor vertical separa o slide da região de conteúdo lateral. Os valores possíveis são: SplitterBarStateType.Minimized, SplitterBarStateType.Maximized e SplitterBarStateType.Restored.

Os métodos getRestoredLeft e getRestoredTop especificam o dimensionamento da região superior ou lateral do slide na visualização normal, quando o valor SplitterBarStateType.Restored é aplicado para getVerticalBarState e getHorizontalBarState respectivamente.

Sobre Restaurar INormalViewProperties

Especifica o dimensionamento da região do slide (largura quando filho de getRestoredTop, altura quando filho de getRestoredLeft) da visualização normal, quando a região está em um tamanho restaurado variável (nem minimizado nem maximizado).

O método getDimensionSize especifica o tamanho da região do slide (largura quando filho de restoredTop, altura quando filho de restoredLeft).

O método getAutoAdjust especifica se o tamanho da região de conteúdo lateral deve compensar o novo tamanho ao redimensionar a janela que contém a visualização dentro do aplicativo.

Um exemplo abaixo mostra como acessar as propriedades ViewProperties.getNormalViewProperties de uma apresentação.

Presentation pres = new Presentation();
try {
    pres.getViewProperties().getNormalViewProperties().setHorizontalBarState(SplitterBarStateType.Restored);
    pres.getViewProperties().getNormalViewProperties().setVerticalBarState(SplitterBarStateType.Maximized);
    
    // Restaurar as propriedades de visualização da apresentação
    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();
}

Definir o Valor de Zoom Padrão

Para definir as propriedades de visualização, siga os passos abaixo:

  1. Crie uma instância da classe Presentation.
  2. Defina as View Properties da Presentation.
  3. Grave a apresentação como um arquivo PPTX.
    No exemplo abaixo, definimos o valor de zoom tanto para a visualização de slide quanto para a visualização de notas.
Presentation presentation = new Presentation();
try {
    // Definindo as propriedades de visualização da apresentação
    presentation.getViewProperties().getSlideViewProperties().setScale(100); // Valor de zoom em porcentagem para visualização de slide
    presentation.getViewProperties().getNotesViewProperties().setScale(100); // Valor de zoom em porcentagem para visualização de notas 

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

FAQ

Posso definir diferentes configurações de visualização para diferentes seções de uma apresentação?

As configurações de visualização são definidas ao nível da apresentação (Normal View/Slide View), não por seção, de modo que um único conjunto de parâmetros se aplica a todo o documento ao ser aberto.

Posso pré‑definir diferentes estados de visualização para diferentes usuários?

Não. As configurações são armazenadas no arquivo e são compartilhadas. Aplicativos de visualização podem respeitar as preferências do usuário, mas o próprio arquivo contém apenas um conjunto de propriedades de visualização.

Posso criar um modelo com propriedades de visualização pré‑definidas para que novas apresentações sejam abertas da mesma forma?

Sim. Como as propriedades de visualização são armazenadas ao nível da apresentação, você pode incorporá‑las em um modelo e criar novos documentos a partir dele com a mesma configuração inicial de visualização.