在 Python via Java 中检索和更新演示文稿视图属性

介绍

正常视图由三个内容区域组成:幻灯片本身、侧边内容区域和底部内容区域。正常视图属性描述这些内容区域的位置。此信息允许应用程序将其视图状态保存到文件中,以便重新打开时视图保持与上次保存时相同的状态。

已添加方法 ViewProperties.getNormalViewProperties 以提供对演示文稿的正常视图属性的访问。

已添加 NormalViewPropertiesNormalViewRestoredProperties 类以及 SplitterBarStateType 枚举。

关于 NormalViewProperties

表示正常视图属性。

方法 getShowOutlineIconssetShowOutlineIcons 指定在正常视图模式的任意内容区域显示大纲内容时,应用程序是否应显示图标。

方法 getSnapVerticalSplittersetSnapVerticalSplitter 指定当侧边区域足够小时时,垂直分割条是否应自动收缩至最小状态。

方法 getPreferSingleViewsetPreferSingleView 指定用户是否更倾向于在整个窗口显示单一内容区域,而不是标准的包含三个内容区域的正常视图。如果启用,应用程序可能会选择将其中一个内容区域占满整个窗口。

方法 getVerticalBarStategetHorizontalBarState 指定水平或垂直分割条应显示的状态。水平分割条将幻灯片与幻灯片下方的内容区域分开;垂直分割条将幻灯片与侧边内容区域分开。可能的取值为:SplitterBarStateType.MinimizedSplitterBarStateType.MaximizedSplitterBarStateType.Restored

方法 getRestoredLeftgetRestoredTop 指定在将 SplitterBarStateType.Restored 值应用于 getVerticalBarStategetHorizontalBarState 时,正常视图的侧边或顶部幻灯片区域的大小。

关于恢复 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. 设置 PresentationView Properties
  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 的模板,以便新演示文稿以相同方式打开吗?

可以。由于 view properties 存储在演示文稿级别,您可以将其嵌入模板中,并基于该模板创建新文档,以获得相同的初始视图配置。