在 PHP 中检索和更新演示文稿视图属性
普通视图由三个内容区域组成:幻灯片本身、侧边内容区域和底部内容区域。与不同内容区域位置相关的属性。这些信息使应用程序能够将视图状态保存到文件中,以便重新打开时视图保持在上次保存演示文稿时的相同状态。
已添加方法ViewProperties.getNormalViewProperties,用于访问演示文稿的普通视图属性。
NormalViewProperties,NormalViewRestoredProperties 类及其派生类,以及SplitterBarStateType 枚举已添加。
关于 INormalViewProperties
表示普通视图属性。
方法getShowOutlineIcons和setShowOutlineIcons指定在普通视图模式下的任意内容区域显示大纲内容时,应用程序是否应显示图标。
方法getSnapVerticalSplitter和setSnapVerticalSplitter指定当侧边区域足够小时,垂直分割条是否应自动吸附到最小化状态。
属性getPreferSingleView和setPreferSingleView指定用户是否更倾向于在全窗口单内容区域中查看,而不是标准的包含三个内容区域的普通视图。启用后,应用程序可能会选择在整个窗口中显示其中一个内容区域。
方法getVerticalBarState和getHorizontalBarState指定水平或垂直分割条应显示的状态。水平分割条将幻灯片与幻灯片下方的内容区域分隔,垂直分割条将幻灯片与侧边内容区域分隔。可能的取值有SplitterBarStateType::Minimized、SplitterBarStateType::Maximized和SplitterBarStateType::Restored。
方法getRestoredLeft和getRestoredTop指定在普通视图中,当对getVerticalBarState和getHorizontalBarState分别应用SplitterBarStateType::Restored值时,顶部或侧边幻灯片区域的大小。
关于恢复 INormalViewProperties
指定普通视图中幻灯片区域的尺寸(当作为getRestoredTop的子项时为宽度,作为getRestoredLeft的子项时为高度),当区域处于可变的恢复大小(既非最小化也非最大化)时。
方法getDimensionSize指定幻灯片区域的大小(作为 restoredTop 的子项时为宽度,作为 restoredLeft 的子项时为高度)。
方法getAutoAdjust指定在应用程序中调整包含视图的窗口大小时,侧边内容区域的尺寸是否应随之自动调整以补偿新的大小。
下面的示例展示了如何访问演示文稿的ViewProperties::getNormalViewProperties属性。
$pres = new Presentation();
try {
$pres->getViewProperties()->getNormalViewProperties()->setHorizontalBarState(SplitterBarStateType::Restored);
$pres->getViewProperties()->getNormalViewProperties()->setVerticalBarState(SplitterBarStateType::Maximized);
# 恢复演示文稿的视图属性
$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();
}
设置默认缩放值
为了设置视图属性,请按以下步骤操作:
- 创建Presentation类的实例。
- 设置Presentation的View Properties。
- 将演示文稿写入为PPTX 文件。
在下面的示例中,我们已经为幻灯片视图和备注视图设置了缩放值。
$presentation = new Presentation();
try {
# 设置演示文稿的视图属性
$presentation->getViewProperties()->getSlideViewProperties()->setScale(100); // 幻灯片视图的缩放值(百分比)
$presentation->getViewProperties()->getNotesViewProperties()->setScale(100); // 备注视图的缩放值(百分比)
$presentation->save("Zoom_out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
常见问题
我可以为演示文稿的不同章节设置不同的视图设置吗?
视图设置在演示文稿级别定义(普通视图/幻灯片视图),而不是针对每个章节,因此在打开文档时,整份文稿使用同一套参数。
我可以为不同用户预定义不同的视图状态吗?
不能。设置存储在文件中并共享。查看器应用程序可能会尊重用户偏好,但文件本身仅包含一套视图属性。
我可以准备一个预定义视图属性的模板,以便新演示文稿以相同方式打开吗?
可以。由于视图属性存储在演示文稿级别,您可以将其嵌入模板中,并基于该模板创建新文档,从而拥有相同的初始视图配置。