Python üzerinden Java ile Sunum Görünüm Özelliklerini Getirme ve Güncelleme

Giriş

Normal görünüm üç içerik bölgesinden oluşur: slaytın kendisi, bir yan içerik bölgesi ve bir alt içerik bölgesi. Normal görünüm özellikleri bu içerik bölgelerinin konumlandırılmasını açıklar. Bu bilgi uygulamanın görünüm durumunu dosyaya kaydetmesini sağlar, böylece yeniden açıldığında görünüm sunum en son kaydedildiği zamanki aynı durumda olur.

Sunumun normal görünüm özelliklerine erişim sağlamak için ViewProperties.getNormalViewProperties yöntemi eklenmiştir.

NormalViewProperties ve NormalViewRestoredProperties sınıfları ve SplitterBarStateType sayımı eklenmiştir.

NormalViewProperties Hakkında

Normal görünüm özelliklerini temsil eder.

getShowOutlineIcons ve setShowOutlineIcons yöntemleri, normal görünüm modunda herhangi bir içerik bölgesinde taslak içeriği görüntüleniyorsa uygulamanın simgeleri gösterip göstermeyeceğini belirtir.

getSnapVerticalSplitter ve setSnapVerticalSplitter yöntemleri, yan bölge yeterince küçük olduğunda dikey bölücünün küçültülmüş bir duruma kilitlenip kilitlenmeyeceğini belirler.

getPreferSingleView ve setPreferSingleView yöntemleri, kullanıcının standart üç içerik bölgesine sahip normal görünüm yerine tam pencere tek içerik bölgesi görmeyi tercih edip etmeyeceğini belirtir. Etkinleştirilirse, uygulama içerik bölgelerinden birini tüm pencere içinde görüntülemeyi seçebilir.

getVerticalBarState ve getHorizontalBarState yöntemleri, yatay veya dikey bölücü çubuğunun hangi durumda gösterileceğini belirtir. Yatay bölücü çubuğu slaytı slaytın altındaki içerik bölgesinden ayırır; dikey bölücü çubuğu slaytı yan içerik bölgesinden ayırır. Olası değerler şunlardır: SplitterBarStateType.Minimized, SplitterBarStateType.Maximized ve SplitterBarStateType.Restored.

getRestoredLeft ve getRestoredTop yöntemleri, SplitterBarStateType.Restored değeri getVerticalBarState ve getHorizontalBarState yöntemlerine uygulandığında normal görünümün üst veya yan slayt bölgesinin boyutlandırılmasını belirtir.

NormalViewProperties Geri Yüklenmesi Hakkında

Normal görünümde, bölge değişken bir geri yüklenmiş boyutta (ne küçültülmüş ne de büyütülmüş) olduğunda, slayt bölgesinin (getRestoredTop çocuğu olduğunda genişlik, getRestoredLeft çocuğu olduğunda yükseklik) boyutlandırılmasını belirtir.

getDimensionSize yöntemi, slayt bölgesinin (getRestoredTop çocuğu olduğunda genişlik, getRestoredLeft çocuğu olduğunda yükseklik) boyutunu belirtir.

getAutoAdjust yöntemi, pencere yeniden boyutlandırıldığında yan içerik bölgesinin yeni boyuta göre telafi edilip edilmemesi gerektiğini belirtir.

Aşağıdaki örnek, bir sunum için ViewProperties.getNormalViewProperties yöntemine nasıl erişileceğini gösterir.

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)

    # Sunumun görünüm özelliklerini geri yükle.
    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()

Varsayılan Yakınlaştırma Değerini Ayarlama

Görünüm özelliklerini ayarlamak için şu adımları izleyin:

  1. Bir Presentation sınıfının örneğini oluşturun.
  2. Presentation için View Properties ayarlayın.
  3. Sunumu bir PPTX dosyası olarak yazın.

Aşağıdaki örnekte, slayt görünümü ve not görünümü için yakınlaştırma değerini ayarlıyoruz.

import jpage
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation()
try:
    # Sunumun görünüm özelliklerini ayarla.
    presentation.getViewProperties().getSlideViewProperties().setScale(100)  # Slayt görünümü için yakınlaştırma yüzdesi.
    presentation.getViewProperties().getNotesViewProperties().setScale(100)  # Not görünümü için yakınlaştırma yüzdesi.

    presentation.save("Zoom_out.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Izgara Aralığını Ayarlama

Sunum genelindeki görünüm ayarlarına erişmek için Presentation.getViewProperties kullanın. ViewProperties.getGridSpacing ve ViewProperties.setGridSpacing yöntemleri temel düzenleme ızgarasının aralığını okur veya değiştirir. Bu ayar tek bir slayta değil, tüm sunuma uygulanır. Izgara aralığı puan cinsinden belirtilir; 72 puan bir inç eder. API belgelerinde belirtildiği gibi pozitif bir değer kullanın.

Aşağıdaki örnek, mevcut bir demo.pptx dosyasını açar, mevcut ızgara aralığını yazdırır, çeyrek inçlik bir aralık ayarlar ve sonucu kaydeder.

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

Izgara, drawing guides öğesinden farklıdır. Izgara aralığı düzenli bir aralığı kontrol eder, çizim kılavuzları ise ayrı ayrı konumlandırılmış yatay veya dikey hizalama çizgileridir. Çizim kılavuzlarını eklemek, taşımak veya temizlemek ızgara aralığını değiştirmez.

Izgara ve çizim kılavuzları her ikisi de düzenleme yardımcılarıdır. PDF, görüntüler, SVG veya slayt gösterisinde slayt içeriği olarak işlenmezler. Izgara aralığının saklanması, bir düzenleyicinin ızgarayı göstereceğini garanti etmez; görünürlüğü ayrıca görüntüleyicinin veya düzenleyicinin tercihine bağlıdır.

Sunum Açılırken Yorumları Gösterme veya Gizleme

Sunum genelindeki görünüm ayarlarına erişmek için Presentation.getViewProperties kullanın. PowerPoint veya başka bir uyumlu düzenleyicide sunum açıldığında yorumların gösterilip gösterilmeyeceğine ilişkin saklanan tercihi okumak veya değiştirmek için ViewProperties.getShowComments ve ViewProperties.setShowComments kullanın.

Bu ayar yalnızca saklanan görünüm tercihini kontrol eder. Yorumları eklemez, kaldırmaz, düzenlemez veya çözüme kavuşturmaz. Yorumların gizlenmesi, içeriklerini, yazarlarını, konumlarını, yanıtlarını ve durumlarını korur. Yorumları doğrudan değiştiren işlemler için Presentation Comments bölümüne bakın.

Aşağıdaki örnek, yorumlar içeren mevcut bir comments.pptx dosyasına ihtiyaç duyar. Mevcut görünürlük ayarını yazdırır, yorumların gizlenmesini talep eder ve yorumları kaldırmadan yeni bir PPTX kaydeder. Ayrıca, yorum görünürlüğüyle birlikte ilk düzenleme görünümünü yapılandırmak için ViewProperties.setLastView ve ViewType.SlideView kullanır.

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

Bu ayar, yorumların PDF, HTML, görüntü, not veya el kitabı dışa aktarımlarına dahil edilip edilmeyeceğini belirlemez. İlgili dışa aktarma seçeneklerini ayrı ayrı yapılandırın.

SSS

Sunumu yeniden açtığımda ızgara neden görünmüyor?

Dosya ızgara aralığını saklar, ancak editör ızgaranın gösterilip gösterilmeyeceğini kontrol eder. Editörün ızgara görünürlük ayarlarını kontrol edin.

Çizim kılavuzlarını temizlemek ızgara aralığını değiştirir mi?

Hayır. Çizim kılavuzları ve ızgara aralığı bağımsız ayarlardır. Kılavuzları temizlemek, saklanan ızgara aralığını değiştirmez.

Bir sunumun farklı bölümleri için farklı görünüm ayarları belirleyebilir miyim?

View settings sunum seviyesinde ([Normal View]/[Slide View]) tanımlanır, bölüme göre değil; bu nedenle bir tek parametre seti belgenin tamamına uygulanır.

Farklı kullanıcılar için farklı görünüm durumları önceden tanımlayabilir miyim?

Hayır. Ayarlar dosyada saklanır ve paylaşılır. Görüntüleyici uygulamalar kullanıcı tercihlerine saygı gösterebilir, ancak dosya tek bir görünüm özelliği seti içerir.

Yeni sunumların aynı şekilde açılması için önceden tanımlı View Properties içeren bir şablon hazırlayabilir miyim?

Evet. view properties sunum seviyesinde saklandığından, bunları bir şablona gömebilir ve aynı başlangıç görünüm yapılandırmasıyla yeni belgeler oluşturabilirsiniz.