Načíst a aktualizovat vlastnosti zobrazení prezentace v PHP

Úvod

Normální zobrazení se skládá ze tří oblastí obsahu: samotného snímku, boční oblasti obsahu a spodní oblasti obsahu. Vlastnosti týkající se umístění různých oblastí obsahu. Tyto informace umožňují aplikaci uložit stav zobrazení do souboru, takže po opětovném otevření je zobrazení ve stejném stavu, v jakém bylo prezentace naposledy uloženo.

Byla přidána metoda ViewProperties::getNormalViewProperties, která poskytuje přístup k vlastnostem normálního zobrazení prezentace.

Byly přidány třídy NormalViewProperties, NormalViewRestoredProperties a jejich potomci a výčet SplitterBarStateType byl přidán.

O INormalViewProperties

Reprezentuje vlastnosti normálního zobrazení.

Metody getShowOutlineIcons a setShowOutlineIcons určují, zda má aplikace zobrazovat ikony při zobrazování obsahu osnovy v kterékoli oblasti obsahu v režimu normálního zobrazení.

Metody getSnapVerticalSplitter a setSnapVerticalSplitter určují, zda má svislý rozdělovač přejít do minimalizovaného stavu, když je boční oblast dostatečně malá.

Vlastnost getPreferSingleView a setPreferSingleView určuje, zda uživatel preferuje zobrazit celou oblast obsahu v jednom okně místo standardního normálního zobrazení se třemi oblastmi obsahu. Pokud je povoleno, aplikace může zobrazit jednu z oblastí obsahu v celém okně.

Metody getVerticalBarState a getHorizontalBarState určují stav, ve kterém má být zobrazen vodorovný nebo svislý rozdělovač. Vodorovný rozdělovač odděluje snímek od oblasti obsahu pod snímkem, svislý rozdělovač odděluje snímek od boční oblasti obsahu. Možné hodnoty jsou: SplitterBarStateType::Minimized, SplitterBarStateType::Maximized a SplitterBarStateType::Restored.

Metody getRestoredLeft a getRestoredTop určují velikost horní nebo boční oblasti snímku v normálním zobrazení, když je pro SplitterBarStateType::Restored použita hodnota pro getVerticalBarState a getHorizontalBarState odpovídajícím způsobem.

O obnovení INormalViewProperties

Určuje velikost oblasti snímku (šířka, když je podřízená metodě getRestoredTop, výška, když je podřízená metodě getRestoredLeft) v normálním zobrazení, pokud je oblast obnovitelné proměnné velikosti (ne ani minimalizovaná, ani maximalizovaná).

Metoda getDimensionSize určuje velikost oblasti snímku (šířka, když je podřízená restoredTop, výška, když je podřízená restoredLeft).

Metoda getAutoAdjust určuje, zda má velikost boční oblasti obsahu kompenzovat novou velikost při změně velikosti okna obsahujícího zobrazení v aplikaci.

Níže uvedený příklad ukazuje, jak můžete získat vlastnosti ViewProperties::getNormalViewProperties pro prezentaci.

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

    # Obnovit vlastnosti zobrazení prezentace
    $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();
  }

Nastavit výchozí hodnotu přiblížení

Pro nastavení vlastností zobrazení postupujte podle následujících kroků:

  1. Vytvořte instanci třídy Presentation.
  2. Nastavte View Properties prezentace Presentation.
  3. Uložte prezentaci jako soubor PPTX .
    V níže uvedeném příkladu jsme nastavili hodnotu přiblížení pro zobrazení snímku i pro zobrazení poznámek.
  $presentation = new Presentation();
  try {
    # Nastavení vlastností zobrazení prezentace
    $presentation->getViewProperties()->getSlideViewProperties()->setScale(100); // Hodnota přiblížení v procentech pro zobrazení snímku
    $presentation->getViewProperties()->getNotesViewProperties()->setScale(100); // Hodnota přiblížení v procentech pro zobrazení poznámek

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

Nastavit rozestup mřížky

Použijte Presentation::getViewProperties k přístupu k nastavením zobrazení na úrovni celé prezentace. Metody ViewProperties::getGridSpacing a ViewProperties::setGridSpacing čtou nebo mění interval podkladové editační mřížky. Toto nastavení se vztahuje na celou prezentaci, ne na jednotlivý snímek. Rozestup mřížky je udáván v bodech, kde 72 bodů odpovídá jednomu palci. Použijte kladnou hodnotu, jak vyžaduje dokumentace API.

Následující příklad otevře existující demo.pptx, vypíše aktuální rozestup mřížky, nastaví interval čtvrtinového palce a uloží výsledek.

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

Mřížka se liší od drawing guides. Rozestup mřížky řídí pravidelný interval, zatímco vodící čáry jsou jednotlivě umístěné horizontální nebo vertikální zarovnávací čáry. Přidání, přesunutí nebo vymazání vodicích čar nemění rozestup mřížky.

Jak mřížka, tak vodicí čáry jsou pomocí při editaci. Nejsou vykresleny jako obsah snímku v PDF, obrázcích, SVG ani při promítání. Uložení rozestupu mřížky nezaručuje, že editor mřížku zobrazí: její viditelnost také závisí na nastavení prohlížeče nebo editoru.

Zobrazit nebo skrýt komentáře při otevření prezentace

Použijte Presentation::getViewProperties k přístupu k nastavením zobrazení na úrovni celé prezentace. Použijte ViewProperties::getShowComments a ViewProperties::setShowComments k přečtení nebo změně uložené preference, zda mají být při otevření prezentace v PowerPointu nebo jiném kompatibilním editoru zobrazeny komentáře.

Toto nastavení řídí pouze uloženou preferenci zobrazení. Nepřidává, neodstraňuje, neupravuje ani neřeší komentáře. Skrytí komentářů zachovává jejich obsah, autory, umístění, odpovědi a stav. Viz Presentation Comments pro operace měnící samotné komentáře.

Následující příklad vyžaduje existující comments.pptx obsahující komentáře. Vypíše aktuální nastavení viditelnosti, požádá o skrytí komentářů a uloží nový PPTX bez odebrání jakýchkoli komentářů. Také používá ViewProperties::setLastView s ViewType::SlideView k nastavení počátečního zobrazení editace spolu s viditelností komentářů.

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

Toto nastavení neurčuje, zda jsou komentáře zahrnuty do exportu do PDF, HTML, obrázku, poznámek nebo letáků. Příslušné možnosti specifické pro export nastavte samostatně.

Často kladené otázky

Proč mřížka není viditelná po opětovném otevření prezentace?

Soubor ukládá rozestup mřížky, ale zobrazení mřížky řídí editor. Zkontrolujte nastavení viditelnosti mřížky v editoru.

Změní vymazání vodicích čar rozestup mřížky?

Ne. Vodicí čáry a rozestup mřížky jsou nezávislá nastavení. Vymazání vodicích čar nemění uložený interval mřížky.

Mohu nastavit různá nastavení zobrazení pro různé sekce prezentace?

Nastavení View settings jsou definována na úrovni celé prezentace (Normal View/Slide View), nikoli na úrovni sekce, takže jeden soubor parametrů platí pro celý dokument při otevření.

Mohu předdefinovat různá stavy zobrazení pro různé uživatele?

Ne. Nastavení jsou uložena v souboru a jsou sdílena. Aplikační prohlížeče mohou respektovat uživatelské preference, ale samotný soubor obsahuje jeden soubor vlastností zobrazení.

Mohu připravit šablonu s předdefinovanými View Properties, aby se nové prezentace otevíraly stejným způsobem?

Ano. Protože view properties jsou uloženy na úrovni prezentace, můžete je vložit do šablony a vytvářet z ní nové dokumenty se stejnou počáteční konfigurací zobrazení.