JavaScript でプレゼンテーションのビュー プロパティを取得・更新する

概要

通常ビューは、スライド本体、サイドコンテンツ領域、ボトムコンテンツ領域の 3 つのコンテンツ領域で構成されます。各コンテンツ領域の位置に関するプロパティです。この情報により、アプリケーションはビュー状態をファイルに保存でき、再度開いたときにプレゼンテーションが最後に保存されたときと同じ状態で表示されます。

Method ViewProperties.getNormalViewProperties が追加され、プレゼンテーションの通常ビューのプロパティにアクセスできるようになりました。

NormalViewProperties、NormalViewRestoredProperties クラスとその派生クラス、SplitterBarStateType 列挙が追加されました。

NormalViewProperties について

通常ビューのプロパティを表します。

Method getShowOutlineIcons と setShowOutlineIcons は、通常ビュー モードの任意のコンテンツ領域でアウトライン コンテンツを表示する際に、アプリケーションがアイコンを表示すべきかどうかを指定します。

Method getSnapVerticalSplitter と setSnapVerticalSplitter は、サイド領域が十分に小さくなったときに垂直スプリッタを最小化状態にスナップさせるかどうかを指定します。

Property getPreferSingleView と setPreferSingleView は、ユーザーが標準の 3 つのコンテンツ領域を持つ通常ビューではなく、ウィンドウ全体に単一コンテンツ領域を表示することを好むかどうかを指定します。有効にすると、アプリケーションは 1 つのコンテンツ領域をウィンドウ全体に表示することがあります。

Method getVerticalBarState と getHorizontalBarState は、水平または垂直スプリッタ バーが表示される状態を指定します。水平スプリッタ バーはスライドとスライド下部のコンテンツ領域を分け、垂直スプリッタ バーはスライドとサイドコンテンツ領域を分けます。可能な値は SplitterBarStateType.Minimized、SplitterBarStateType.Maximized、SplitterBarStateType.Restored です。

Method getRestoredLeft と getRestoredTop は、SplitterBarStateType.Restored が getVerticalBarState と getHorizontalBarState に適用された場合の、通常ビューの上部またはサイドスライド領域のサイズを指定します。

NormalViewProperties の復元について

通常ビューのスライド領域(getRestoredTop の子の場合は幅、getRestoredLeft の子の場合は高さ)が、可変の復元サイズ(最小化でも最大化でもない)である場合のサイズを指定します。

Method getDimensionSize は、復元された top の子であれば幅、復元された left の子であれば高さとして、スライド領域のサイズを指定します。

Method getAutoAdjust は、ウィンドウのサイズ変更時にサイドコンテンツ領域のサイズが新しいサイズに合わせて自動的に調整されるかどうかを指定します。

以下の例は、プレゼンテーションの ViewProperties.getNormalViewProperties プロパティにアクセスする方法を示しています。

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

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. Presentation の View Properties を設定します。
  3. プレゼンテーションを PPTX ファイルとして保存します。
    以下の例では、スライドビューとノートビューの両方にズーム値を設定しています。
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

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();
}

グリッド間隔の設定

Presentation.getViewProperties を使用して、プレゼンテーション全体のビュー設定にアクセスします。ViewProperties.getGridSpacing と ViewProperties.setGridSpacing メソッドは、基礎となる編集グリッドの間隔を取得または変更します。この設定は個々のスライドではなく、プレゼンテーション全体に適用されます。グリッド間隔はポイント単位で指定され、72 ポイントが 1 インチに相当します。API ドキュメントの要件に従い、正の値を使用してください。

以下の例は既存の demo.pptx を開き、現在のグリッド間隔を表示し、1/4 インチの間隔に設定して結果を保存します。

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

var presentation = new aspose.slides.Presentation("demo.pptx");
try {
    var gridSpacing = presentation.getViewProperties().getGridSpacing();
    console.log("Current grid spacing: " + gridSpacing + " points");

    presentation.getViewProperties().setGridSpacing(18);
    presentation.save("grid-spacing.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

グリッドは drawing guides とは異なります。グリッド間隔は規則的な間隔を制御しますが、描画ガイドは個別に配置された水平または垂直の位置合わせラインです。描画ガイドの追加、移動、クリアはグリッド間隔には影響しません。

グリッドも描画ガイドも編集の補助ツールです。PDF、画像、SVG、スライドショーとしてレンダリングされることはありません。グリッド間隔を保存しても、エディタが必ず表示するわけではなく、表示はビューアやエディタの設定に依存します。

プレゼンテーションを開くときのコメント表示/非表示

Presentation.getViewProperties を使用して、プレゼンテーション全体のビュー設定にアクセスします。ViewProperties.getShowComments と ViewProperties.setShowComments を使用して、PowerPoint などの互換エディタでプレゼンテーションを開いたときにコメントを表示するかどうかの保存された設定を取得または変更できます。

この設定は保存されたビューの好みを制御するだけで、コメント自体の追加、削除、編集、解決は行いません。コメントを非表示にしても、内容、作者、位置、返信、ステータスは保持されます。コメントそのものを変更する操作については Presentation Comments を参照してください。

以下の例はコメントが含まれた既存の comments.pptx を対象とし、現在の表示設定を出力し、コメントを非表示に設定して新しい PPTX を保存します。また、ViewProperties.setLastView と ViewType.SlideView を組み合わせて、コメントの表示設定とともに初期編集ビューを構成しています。

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");

var presentation = new aspose.slides.Presentation("comments.pptx");
try {
    var showComments = presentation.getViewProperties().getShowComments();
    console.log("Current comment visibility: " + showComments);

    var hideComments = java.newByte(aspose.slides.NullableBool.False);
    presentation.getViewProperties().setShowComments(hideComments);
    presentation.getViewProperties().setLastView(aspose.slides.ViewType.SlideView);
    presentation.save("comments-hidden.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

この設定は PDF、HTML、画像、ノート、配布資料へのエクスポート時にコメントが含まれるかどうかを決定しません。エクスポート固有のオプションは別途設定してください。

FAQ

プレゼンテーションを再度開いたときにグリッドが表示されないのはなぜですか?

ファイルはグリッド間隔を保存しますが、エディタ側でグリッドの表示/非表示を制御します。エディタのグリッド表示設定をご確認ください。

描画ガイドをクリアしてもグリッド間隔は変わりますか?

いいえ。描画ガイドとグリッド間隔は独立した設定です。ガイドをクリアしても保存されたグリッド間隔は変わりません。

プレゼンテーションのセクションごとに異なるビュー設定を持たせられますか?

View settings はプレゼンテーション単位で定義され(Normal View/Slide View)、セクション単位ではありません。そのため、ドキュメント全体に対して 1 つのパラメータセットが適用されます。

ユーザーごとに異なるビュー状態を事前に定義できますか?

できません。設定はファイルに保存され、すべてのユーザーで共有されます。ビューアーアプリはユーザーの好みを考慮できることがありますが、ファイル自体は 1 つのビュー プロパティしか保持しません。

テンプレートに事前定義した View Properties を埋め込んで、新規プレゼンテーションが同じビューで開くようにできますか?

可能です。ビュー プロパティはプレゼンテーション単位で保存されるため、テンプレートに埋め込めば、新しく作成するドキュメントは同じ初期ビュー設定で開かれます。