Recuperar e Atualizar Propriedades de Visualização da Apresentação em Python via Java
Introdução
A visualização normal consiste em três regiões de conteúdo: o próprio slide, uma região de conteúdo lateral e uma região de conteúdo inferior. As propriedades da visualização normal descrevem o posicionamento dessas regiões de conteúdo. Essas informações permitem que o aplicativo salve seu estado de visualização no arquivo, de modo que, ao reabri‑lo, a visualização esteja no mesmo estado em que a apresentação foi salva pela última vez.
O método ViewProperties.getNormalViewProperties foi adicionado para fornecer acesso às propriedades da visualização normal de uma apresentação.
As classes NormalViewProperties, NormalViewRestoredProperties e a enumeração SplitterBarStateType foram adicionadas.
Sobre NormalViewProperties
Representa as propriedades da visualização normal.
Os métodos getShowOutlineIcons e setShowOutlineIcons especificam se o aplicativo deve exibir ícones ao apresentar o conteúdo do contorno 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 ser reduzido a um estado minimizado quando a região lateral for suficientemente pequena.
Os métodos getPreferSingleView e setPreferSingleView especificam se o usuário prefere ver uma única região de conteúdo em janela inteira ao invés da visualização normal padrão com três regiões de conteúdo. Se habilitado, 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 de divisor horizontal ou vertical deve ser exibida. Uma barra de divisor horizontal separa o slide da região de conteúdo abaixo do slide; uma barra de 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 a getVerticalBarState e getHorizontalBarState, respectivamente.
Sobre Restaurar NormalViewProperties
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 possui 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 getRestoredTop, altura quando filho de getRestoredLeft).
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.
O exemplo abaixo mostra como acessar ViewProperties.getNormalViewProperties para uma apresentação.
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 as propriedades de visualização da apresentação.
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()
Definir o Valor de Zoom Padrão
Note
O Aspose.Slides for Python via Java suporta a definição do valor de zoom padrão para que ele já seja aplicado quando a apresentação for aberta. Isso pode ser feito definindo as ViewProperties de uma apresentação. getSlideViewProperties assim como getNotesViewProperties podem ser configurados programaticamente. Neste tópico, veremos com um exemplo como definir as View Properties de Presentation no Aspose.Slides.Para definir as propriedades de visualização, siga estas etapas:
- Crie uma instância da classe Presentation.
- Defina as View Properties de Presentation.
- 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.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation()
try:
# Definir as propriedades de visualização da apresentação.
presentation.getViewProperties().getSlideViewProperties().setScale(100) # Porcentagem de zoom para a visualização de slide.
presentation.getViewProperties().getNotesViewProperties().setScale(100) # Porcentagem de zoom para a visualização de notas.
presentation.save("Zoom_out.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Definir o Espaçamento da Grade
Use Presentation.getViewProperties para acessar as configurações de visualização em todo o documento. Os métodos ViewProperties.getGridSpacing e ViewProperties.setGridSpacing leem ou alteram o intervalo da grade de edição subjacente. Essa configuração se aplica a toda a apresentação, não a um slide individual. O espaçamento da grade é especificado em pontos, onde 72 pontos equivalem a uma polegada. Use um valor positivo, conforme exigido pela documentação da API.
O exemplo a seguir abre um demo.pptx existente, imprime o espaçamento atual da grade, define um intervalo de um quarto de polegada e salva o resultado.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("demo.pptx")
try:
grid_spacing = presentation.getViewProperties().getGridSpacing()
print(f"Current grid spacing: {grid_spacing} points")
presentation.getViewProperties().setGridSpacing(18.0)
presentation.save("grid-spacing.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
A grade é diferente dos drawing guides. O espaçamento da grade controla um intervalo regular, enquanto os guias de desenho são linhas de alinhamento horizontais ou verticais posicionadas individualmente. Adicionar, mover ou limpar guias de desenho não altera o espaçamento da grade.
Tanto a grade quanto os guias de desenho são auxiliares de edição. Eles não são renderizados como conteúdo do slide em PDF, imagens, SVG ou apresentação de slides. Armazenar o espaçamento da grade não garante que um editor exibirá a grade: sua visibilidade também depende das preferências do visualizador ou editor.
Exibir ou Ocultar Comentários ao Abrir uma Apresentação
Use Presentation.getViewProperties para acessar as configurações de visualização em todo o documento. Use ViewProperties.getShowComments e ViewProperties.setShowComments para ler ou alterar a preferência armazenada sobre se os comentários devem ser exibidos quando a apresentação for aberta no PowerPoint ou em outro editor compatível.
Essa configuração controla apenas a preferência de visualização armazenada. Não adiciona, remove, edita ou resolve comentários. Ocultar comentários preserva seu conteúdo, autores, posições, respostas e status. Consulte Presentation Comments para operações que alteram os próprios comentários.
O exemplo a seguir requer um comments.pptx existente que contenha comentários. Ele imprime a configuração de visibilidade atual, solicita que os comentários sejam ocultados e salva um novo PPTX sem remover nenhum comentário. Também usa ViewProperties.setLastView com ViewType.SlideView para configurar a visualização de edição inicial juntamente com a visibilidade dos comentários.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import NullableBool, Presentation, SaveFormat, ViewType
presentation = Presentation("comments.pptx")
try:
show_comments = presentation.getViewProperties().getShowComments()
print(f"Current comment visibility: {show_comments}")
presentation.getViewProperties().setShowComments(NullableBool.False_)
presentation.getViewProperties().setLastView(ViewType.SlideView)
presentation.save("comments-hidden.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Essa configuração não determina se os comentários são incluídos nas exportações para PDF, HTML, imagem, notas ou folhetos. Configure as opções específicas de exportação relevantes separadamente.
FAQ
Por que a grade não está visível após reabrir a apresentação?
O arquivo armazena o espaçamento da grade, mas o editor controla se a grade é exibida. Verifique as configurações de visibilidade da grade no editor.
Limpar os guias de desenho altera o espaçamento da grade?
Não. Os guias de desenho e o espaçamento da grade são configurações independentes. Limpar os guias deixa o intervalo da grade armazenado inalterado.
Posso definir configurações de visualização diferentes para seções distintas de uma apresentação?
As view settings são definidas ao nível da apresentação (Normal View/Slide View), não por seção, portanto um único conjunto de parâmetros se aplica a todo o documento ao ser aberto.
Posso predefinir estados de visualização diferentes para usuários distintos?
Não. As configurações são armazenadas no arquivo e são compartilhadas. Aplicativos de visualização podem honrar preferências de usuário, mas o arquivo em si contém um único conjunto de propriedades de visualização.
Posso preparar um modelo com View Properties predefinidos para que novas apresentações sejam abertas da mesma forma?
Sim. Como as view properties 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 de visualização inicial.