在 JavaScript 中檢索與更新簡報檢視屬性

簡介

普通檢視包含三個內容區域:投影片本身、側邊內容區以及底部內容區。相關的屬性描述了不同內容區域的定位方式。此資訊允許應用程式將檢視狀態儲存至檔案,讓重新開啟時檢視保持在上次保存時的狀態。

已新增方法ViewProperties.getNormalViewProperties,以提供對簡報的普通檢視屬性的存取。

已新增NormalViewPropertiesNormalViewRestoredProperties類別及其衍生類別,以及SplitterBarStateType列舉。

關於 NormalViewProperties

代表普通檢視屬性。

方法getShowOutlineIconssetShowOutlineIcons指出在普通檢視模式的任何內容區域顯示大綱內容時,應否顯示圖示。

方法getSnapVerticalSplittersetSnapVerticalSplitter指出當側邊區域足夠小時,垂直分割條是否應自動縮至最小狀態。

屬性getPreferSingleViewsetPreferSingleView指定使用者是否偏好在整個視窗中僅顯示單一內容區域,而非標準的三區域普通檢視。若啟用,應用程式可能會選擇將其中一個內容區域佔滿整個視窗。

方法getVerticalBarStategetHorizontalBarState指定水平或垂直分割條應呈現的狀態。水平分割條將投影片與其下方的內容區分開,垂直分割條則將投影片與側邊內容區分開。可能的值有SplitterBarStateType.MinimizedSplitterBarStateType.Maximized以及SplitterBarStateType.Restored

方法getRestoredLeftgetRestoredTop指定普通檢視中側邊或上方投影片區域的尺寸,當getVerticalBarStategetHorizontalBarState皆為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();
}

設定預設縮放值

設定檢視屬性的步驟如下:

  1. 建立一個Presentation類別的實例。
  2. 設定該PresentationView Properties
  3. 將簡報寫入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儲存在簡報層級,您可以將它們嵌入範本,然後以此範本建立新文件,便能保有相同的初始檢視設定。