在 JavaScript 中檢索與更新簡報檢視屬性
簡介
普通檢視包含三個內容區域:投影片本身、側邊內容區以及底部內容區。相關的屬性描述了不同內容區域的定位方式。此資訊允許應用程式將檢視狀態儲存至檔案,讓重新開啟時檢視保持在上次保存時的狀態。
已新增方法ViewProperties.getNormalViewProperties,以提供對簡報的普通檢視屬性的存取。
已新增NormalViewProperties、NormalViewRestoredProperties類別及其衍生類別,以及SplitterBarStateType列舉。
關於 NormalViewProperties
代表普通檢視屬性。
方法getShowOutlineIcons與setShowOutlineIcons指出在普通檢視模式的任何內容區域顯示大綱內容時,應否顯示圖示。
方法getSnapVerticalSplitter與setSnapVerticalSplitter指出當側邊區域足夠小時,垂直分割條是否應自動縮至最小狀態。
屬性getPreferSingleView與setPreferSingleView指定使用者是否偏好在整個視窗中僅顯示單一內容區域,而非標準的三區域普通檢視。若啟用,應用程式可能會選擇將其中一個內容區域佔滿整個視窗。
方法getVerticalBarState與getHorizontalBarState指定水平或垂直分割條應呈現的狀態。水平分割條將投影片與其下方的內容區分開,垂直分割條則將投影片與側邊內容區分開。可能的值有SplitterBarStateType.Minimized、SplitterBarStateType.Maximized以及SplitterBarStateType.Restored。
方法getRestoredLeft與getRestoredTop指定普通檢視中側邊或上方投影片區域的尺寸,當getVerticalBarState與getHorizontalBarState皆為SplitterBarStateType.Restored時使用。
關於 Restoring NormalViewProperties
指定普通檢視中投影片區域的尺寸(作為getRestoredTop的子項時為寬度,作為getRestoredLeft的子項時為高度),當該區域處於可變的還原大小(既非最小化亦非最大化)時。
方法getDimensionSize指定投影片區域的大小(作為 restoredTop 的子項時為寬度,作為 restoredLeft 的子項時為高度)。
方法getAutoAdjust指定在調整包含此檢視的視窗大小時,側邊內容區的尺寸是否應自動補償新的大小。
以下範例說明如何存取ViewProperties.getNormalViewProperties屬性以取得簡報的相關資訊。
var pres = new aspose.slides.Presentation();
try {
pres.getViewProperties().getNormalViewProperties().setHorizontalBarState(aspose.slides.SplitterBarStateType.Restored);
pres.getViewProperties().getNormalViewProperties().setVerticalBarState(aspose.slides.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", aspose.slides.SaveFormat.Pptx);
} finally {
pres.dispose();
}
設定預設縮放值
設定檢視屬性的步驟如下:
- 建立一個Presentation類別的實例。
- 設定該Presentation的View Properties。
- 將簡報寫入PPTX檔案。
在下方範例中,我們同時設定了投影片檢視與備註檢視的縮放值。
var presentation = new aspose.slides.Presentation();
try {
// 設定簡報的檢視屬性
presentation.getViewProperties().getSlideViewProperties().setScale(100); // 投影片檢視的縮放值(百分比)
presentation.getViewProperties().getNotesViewProperties().setScale(100); // 備註檢視的縮放值(百分比)
presentation.save("Zoom_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
常見問題
我可以為簡報的不同章節設定不同的檢視設定嗎?
View settings是以簡報層級(Normal View/Slide View)定義,而非針對單一章節。因此,在簡報開啟時,整份文件會套用同一套參數。
我可以為不同使用者預先定義不同的檢視狀態嗎?
不能。這些設定儲存在檔案中,所有使用者共用。同時,檢視程式可自行遵循使用者偏好,但檔案本身僅包含一組檢視屬性。
我可以建立包含預先定義檢視屬性的範本,讓新簡報以相同方式開啟嗎?
可以。由於view properties儲存在簡報層級,您可以將它們嵌入範本,然後以此範本建立新文件,便能保有相同的初始檢視設定。