Получить и обновить свойства просмотра презентации в Python через Java

Введение

Обычный просмотр состоит из трех областей содержимого: самого слайда, боковой области содержимого и нижней области содержимого. Свойства обычного просмотра описывают расположение этих областей содержимого. Эта информация позволяет приложению сохранять состояние просмотра в файл, чтобы при повторном открытии просмотр находился в том же состоянии, в котором презентация была сохранена в последний раз.

Метод ViewProperties.getNormalViewProperties был добавлен для предоставления доступа к свойствам обычного просмотра презентации.

Классы NormalViewProperties и NormalViewRestoredProperties и перечисление SplitterBarStateType также были добавлены.

О NormalViewProperties

Представляет свойства обычного просмотра.

Методы getShowOutlineIcons и setShowOutlineIcons определяют, должно ли приложение показывать значки при отображении контурного содержимого в любой из областей обычного режима просмотра.

Методы getSnapVerticalSplitter и setSnapVerticalSplitter определяют, должен ли вертикальный разделитель переключаться в минимизированное состояние, когда боковая область достаточно мала.

Методы getPreferSingleView и setPreferSingleView определяют, предпочитает ли пользователь видеть одну область содержимого на весь экран вместо стандартного обычного просмотра с тремя областями. При включении приложение может отобразить одну из областей содержимого во всем окне.

Методы getVerticalBarState и getHorizontalBarState определяют состояние, в котором должна показываться горизонтальная или вертикальная полоса разделителя. Горизонтальная полоса разделяет слайд и область содержимого под слайдом; вертикальная полоса разделяет слайд и боковую область содержимого. Возможные значения: SplitterBarStateType.Minimized, SplitterBarStateType.Maximized и SplitterBarStateType.Restored.

Методы getRestoredLeft и getRestoredTop задают размеры верхней или боковой области слайда обычного просмотра, когда значение SplitterBarStateType.Restored применяется к getVerticalBarState и getHorizontalBarState соответственно.

О восстановлении NormalViewProperties

Определяет размеры области слайда (ширина, если это дочерний элемент getRestoredTop, высота, если это дочерний элемент getRestoredLeft) обычного просмотра, когда область имеет переменный восстановленный размер (ни минимизированный, ни максимизированный).

Метод getDimensionSize задает размер области слайда (ширина, если это дочерний элемент getRestoredTop, высота, если это дочерний элемент getRestoredLeft).

Метод getAutoAdjust определяет, должна ли боковая область содержимого компенсировать новый размер при изменении размера окна, содержащего просмотр в приложении.

Ниже приведен пример доступа к ViewProperties.getNormalViewProperties для презентации.

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)

    # Восстановить свойства просмотра презентации.
    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()

Установить значение масштабирования по умолчанию

Чтобы задать свойства просмотра, выполните следующие действия:

  1. Создайте экземпляр класса Presentation.
  2. Задайте View Properties для Presentation.
  3. Сохраните презентацию в файл PPTX.

В примере ниже мы задаём значение масштабирования как для просмотра слайдов, так и для просмотра заметок.

import jpype
import asposeslides

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

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation()
try:
    # Установить свойства просмотра презентации.
    presentation.getViewProperties().getSlideViewProperties().setScale(100)  # Процент масштабирования для просмотра слайда.
    presentation.getViewProperties().getNotesViewProperties().setScale(100)  # Процент масштабирования для просмотра заметок.

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

Часто задаваемые вопросы

Можно ли задать разные настройки просмотра для разных разделов презентации?

View settings определяются на уровне всей презентации (Normal View/Slide View), а не для отдельных разделов, поэтому один набор параметров применяется ко всему документу при открытии.

Можно ли заранее определить разные состояния просмотра для разных пользователей?

Нет. Настройки сохраняются в файле и общие для всех. Приложения‑просмотрщики могут учитывать предпочтения пользователя, но сам файл содержит один набор свойств просмотра.

Можно ли подготовить шаблон с предустановленными свойствами просмотра, чтобы новые презентации открывались одинаково?

Да. Поскольку view properties хранятся на уровне презентации, их можно встроить в шаблон и создавать новые документы на его основе с той же начальной конфигурацией просмотра.