PHP'de Sunum Görünüm Özelliklerini Getir ve Güncelle

Giriş

Normal görünüm üç içerik bölgesinden oluşur: slayt kendisi, yan içerik bölgesi ve alt içerik bölgesi. Farklı içerik bölgelerinin konumlandırmasıyla ilgili özellikler. Bu bilgiler uygulamanın görünüm durumunu dosyaya kaydetmesini sağlar, böylece yeniden açıldığında görünüm sunum 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, NormalViewRestoredProperties sınıfları ve bunların alt sınıfları, SplitterBarStateType enumı eklenmiştir.

INormalViewProperties hakkında

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

getShowOutlineIcons ve setShowOutlineIcons yöntemleri, normal görünüm modundaki içerik bölgelerinden birinde anahat içeriği görüntüleniyorsa uygulamanın simge gösterip göstermeyeceğini belirtir.

getSnapVerticalSplitter ve setSnapVerticalSplitter yöntemleri, yan bölge yeterince küçük olduğunda dikey ayırıcı çubuğun küçültülmüş duruma otomatik yapışıp yapmayacağını belirtir.

getPreferSingleView ve setPreferSingleView özellikleri, kullanıcının üç içerik bölgesi olan standart normal görünüm yerine tam pencere tek içerik bölgesi görmeyi tercih edip etmediğini belirtir. Etkinleştirildiğinde, uygulama içerik bölgelerinden birini tüm pencerede gösterebilir.

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

getRestoredLeft ve getRestoredTop yöntemleri, SplitterBarStateType::Restored değeri getVerticalBarState ve getHorizontalBarState için uygulandığında normal görünümde üst veya yan slayt bölgesinin boyutlamasını belirtir.

INormalViewProperties geri yükleme hakkında

Normal görünümde, bölge değişken bir geri yüklenmiş boyuta (ne küçültülmüş ne de büyütülmüş) sahip olduğunda slayt bölgesinin (üst bölge çocuğu olduğunda genişlik, sol bölge çocuğu olduğunda yükseklik) boyutlamasını belirtir.

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

getAutoAdjust yöntemi, uygulama içinde görünümü içeren pencere yeniden boyutlandırıldığında yan içerik bölgesinin yeni boyuta uyum sağlayıp sağlamayacağını belirtir.

Aşağıda verilen bir örnek, bir sunum için ViewProperties::getNormalViewProperties özelliklerine nasıl erişileceğini gösterir.

  $pres = new Presentation();
  try {
    $pres->getViewProperties()->getNormalViewProperties()->setHorizontalBarState(SplitterBarStateType::Restored);
    $pres->getViewProperties()->getNormalViewProperties()->setVerticalBarState(SplitterBarStateType::Maximized);

    # Sunumun görünüm özelliklerini geri yükle
    $pres->getViewProperties()->getNormalViewProperties()->getRestoredTop()->setAutoAdjust(true);
    $pres->getViewProperties()->getNormalViewProperties()->getRestoredTop()->setDimensionSize(80);
    $pres->getViewProperties()->getNormalViewProperties()->setShowOutlineIcons(true);
    $pres->save("presentation_normal_view_state.pptx", SaveFormat::Pptx);
  } finally {
    $pres->dispose();
  }

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

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

  1. Presentation sınıfının bir örneğini oluşturun.
  2. Presentation için View Properties ayarlayın.
  3. Sunumu bir PPTX dosyası olarak kaydedin. Aşağıda verilen örnekte, slayt görünümü ve not görünümü için yakınlaştırma değeri ayarlanmıştır.
  $presentation = new Presentation();
  try {
    # Sunumun görünüm özelliklerini ayarlama
    $presentation->getViewProperties()->getSlideViewProperties()->setScale(100); // Slayt görünümü için yüzde cinsinden yakınlaştırma değeri
    $presentation->getViewProperties()->getNotesViewProperties()->setScale(100); // Notlar görünümü için yüzde cinsinden yakınlaştırma değeri

    $presentation->save("Zoom_out.pptx", SaveFormat::Pptx);
  } finally {
    $presentation->dispose();
  }

Izgara Aralığını Ayarla

Presentation::getViewProperties kullanarak tüm sunuma ait görünüm ayarlarına erişin. ViewProperties::getGridSpacing ve ViewProperties::setGridSpacing yöntemleri temel düzenleme ızgarasının aralığını okur veya değiştirir. Bu ayar tüm sunuma uygulanır, tek bir slayta değil. Izgara aralığı nokta cinsinden belirtilir; 72 nokta bir inçtir. 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.

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation("demo.pptx");
try {
    $gridSpacing = $presentation->getViewProperties()->getGridSpacing();
    echo "Current grid spacing: " . $gridSpacing . " points\n";

    $presentation->getViewProperties()->setGridSpacing(18.0);
    $presentation->save("grid-spacing.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

Izgara, çizim kılavuzlarından 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österisi içinde slayt içeriği olarak işlenmezler. Izgara aralığını depolamak, bir düzenleyicinin ızgarayı göstereceğini garanti etmez; görünürlüğü ayrıca görüntüleyici veya düzenleyicinin tercihlerine bağlıdır.

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

Presentation::getViewProperties kullanarak tüm sunuma ait görünüm ayarlarına erişin. ViewProperties::getShowComments ve ViewProperties::setShowComments kullanarak yorumların PowerPoint ya da başka bir uyumlu düzenleyicide sunum açıldığında gösterilip gösterilmeyeceğiyle ilgili saklanan tercihi okuyabilir veya değiştirebilirsiniz.

Bu ayar yalnızca saklanan görünüm tercihini kontrol eder. Yorum ekleme, kaldırma, düzenleme veya çözümleme yapmaz. Yorumların gizlenmesi, içeriklerini, yazarlarını, konumlarını, yanıtlarını ve durumlarını korur. Yorumları değiştiren işlemler için Presentation Comments bölümüne bakın.

Aşağıdaki örnek, yorum 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 dosyası olarak 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.

use aspose\slides\NullableBool;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ViewType;

$presentation = new Presentation("comments.pptx");
try {
    $showComments = $presentation->getViewProperties()->getShowComments();
    echo "Current comment visibility: " . java_values($showComments) . PHP_EOL;

    $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ü, notlar veya el ilanı dışa aktarmalarına dahil edilip edilmediğini belirlemez. İlgili dışa aktarım seçeneklerini ayrı ayrı yapılandırın.

SSS

Sunumu yeniden açtığımda ızgara neden görünmüyor?
Dosya ızgara aralığını depolar, ancak ızgaranın görüntülenip görüntülenmeyeceğini düzenleyici kontrol eder. Düzenleyicinin ı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, depolanan ı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 tanımlanır (Normal View/Slide View), bölüm bazında değil; bu nedenle tek bir parametre kümesi açıldığında tüm belgeye uygulanır.

Farklı kullanıcılar için farklı görünüm durumlarını önceden tanımlayabilir miyim?
Hayır. Ayarlar dosyada depolanır ve paylaşımlıdır. Görüntüleyici uygulamalar kullanıcı tercihlerini dikkate alabilir, ancak dosya kendisi sadece bir görünüm özelliği kümesi 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 depolandığı için bunları bir şablona gömebilir ve aynı başlangıç görünüm yapılandırmasıyla yeni belgeler oluşturabilirsiniz.