Python via Java でプレゼンテーションのビュー プロパティを取得および更新
はじめに
標準ビューは、スライド自体、サイドコンテンツ領域、下部コンテンツ領域の3つのコンテンツ領域で構成されます。標準ビュー プロパティは、これらのコンテンツ領域の配置を記述します。この情報により、アプリケーションはビューの状態をファイルに保存でき、再度開いたときにプレゼンテーションが最後に保存されたときと同じ状態でビューが表示されます。
メソッドViewProperties.getNormalViewPropertiesが追加され、プレゼンテーションの標準ビュー プロパティにアクセスできるようになりました。
NormalViewProperties と NormalViewRestoredProperties クラス、および SplitterBarStateType 列挙体が追加されました。
NormalViewProperties について
標準ビュー プロパティを表します。
メソッドgetShowOutlineIcons と setShowOutlineIcons は、標準ビュー モードの任意のコンテンツ領域にアウトライン コンテンツを表示する場合に、アプリケーションがアイコンを表示すべきかどうかを指定します。
メソッドgetSnapVerticalSplitter と setSnapVerticalSplitter は、サイド領域が十分に小さいときに垂直スプリッタが最小化状態にスナップすべきかどうかを指定します。
メソッドgetPreferSingleView と setPreferSingleView は、ユーザーが3つのコンテンツ領域を持つ標準ビューではなく、ウィンドウ全体に単一のコンテンツ領域を表示することを好むかどうかを指定します。有効にすると、アプリケーションはウィンドウ全体に1つのコンテンツ領域を表示することを選択できる場合があります。
メソッドgetVerticalBarState と getHorizontalBarState は、水平または垂直スプリッタ バーが表示される状態を指定します。水平スプリッタ バーはスライドとスライド下部のコンテンツ領域を分割し、垂直スプリッタ バーはスライドとサイド コンテンツ領域を分割します。可能な値はSplitterBarStateType.Minimized、SplitterBarStateType.Maximized、およびSplitterBarStateType.Restoredです。
メソッドgetRestoredLeft と getRestoredTop は、SplitterBarStateType.Restored が getVerticalBarState と getHorizontalBarState に適用されているときの、標準ビューの左側または上側スライド領域のサイズを指定します。
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()
デフォルトズーム 値の設定
Note
Aspose.Slides for Python via Java は、プレゼンテーションを開いたときにすでに適用されるデフォルトズーム値の設定をサポートしています。これは、プレゼンテーションのViewProperties を設定することで行えます。getSlideViewProperties と getNotesViewProperties はプログラムから構成可能です。このトピックでは、Aspose.Slides でPresentation のView Properties を設定する方法を例とともに説明します。ビュー プロパティを設定するには、次の手順に従います。
- Presentation クラスのインスタンスを作成します。
- Presentation のView Properties を設定します。
- プレゼンテーションを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()
グリッド間隔の設定
Presentation.getViewProperties を使用して、プレゼンテーション全体のビュー設定にアクセスします。ViewProperties.getGridSpacing と ViewProperties.setGridSpacing メソッドは、基礎となる編集グリッドの間隔を読み取ったり変更したりします。この設定は個々のスライドではなく、プレゼンテーション全体に適用されます。グリッド間隔はポイントで指定され、72 ポイントが 1 インチに相当します。API のドキュメントで要求されているように、正の値を使用してください。
以下の例では、既存の demo.pptx を開き、現在のグリッド間隔を表示し、1/4 インチ間隔に設定してから結果を保存します。
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("demo.pptx")
try:
grid_spacing = presentation.getViewProperties().getGridSpacing()
print(f"Current grid spacing: {grid_spacing} points")
presentation.getViewProperties().setGridSpacing(18.0)
presentation.save("grid-spacing.pptx", 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 を組み合わせて、コメントの表示設定とともに初期編集ビューを構成しています。
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import NullableBool, Presentation, SaveFormat, ViewType
presentation = Presentation("comments.pptx")
try:
show_comments = presentation.getViewProperties().getShowComments()
print(f"Current comment visibility: {show_comments}")
presentation.getViewProperties().setShowComments(NullableBool.False_)
presentation.getViewProperties().setLastView(ViewType.SlideView)
presentation.save("comments-hidden.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
この設定は、PDF、HTML、画像、ノート、ハンドアウトへのエクスポート時にコメントが含まれるかどうかを決定しません。エクスポート固有のオプションは別途設定してください。
FAQ
Why is the grid not visible after I reopen the presentation?
ファイルはグリッド間隔を保存しますが、エディタ側でグリッドの表示可否を制御します。エディタのグリッド表示設定を確認してください。
Does clearing drawing guides change the grid spacing?
いいえ。描画ガイドとグリッド間隔は独立した設定です。ガイドを削除しても、保存されたグリッド間隔は変更されません。
Can I set different view settings for different sections of a presentation?
View settings はプレゼンテーションレベル (Normal View / Slide View) で定義され、セクションごとには設定できません。そのため、ドキュメント全体に同一のパラメータが適用されます。
Can I predefine different view states for different users?
できません。設定はファイルに保存され、すべてのユーザーで共有されます。ビューア アプリケーションがユーザー固有の設定を尊重することはありますが、ファイル自体には 1 つのビュー プロパティセットしか含まれません。
Can I prepare a template with predefined View Properties so new presentations open the same way?
はい。view properties はプレゼンテーションレベルで保存されるため、テンプレートに埋め込んでおけば、新規ドキュメントを作成したときに同じ初期ビュー構成で開くことができます。