Pobieranie i aktualizacja właściwości widoku prezentacji w PHP
Wprowadzenie
Normalny widok składa się z trzech regionów zawartości: samego slajdu, bocznego regionu zawartości oraz dolnego regionu zawartości. Właściwości dotyczące pozycjonowania różnych regionów zawartości. Ta informacja pozwala aplikacji zapisać stan widoku do pliku, tak aby po ponownym otwarciu widok był w takim samym stanie, w jakim prezentacja była ostatnio zapisana.
Dodano metodę ViewProperties::getNormalViewProperties umożliwiającą dostęp do właściwości normalnego widoku prezentacji.
Dodano klasy NormalViewProperties, NormalViewRestoredProperties oraz ich pochodne, a także wyliczenie SplitterBarStateType enum have been added.
O INormalViewProperties
Reprezentuje właściwości normalnego widoku.
Metody getShowOutlineIcons i setShowOutlineIcons określają, czy aplikacja powinna wyświetlać ikony podczas wyświetlania treści konspektu w którymkolwiek z regionów zawartości trybu normalnego widoku.
Metody getSnapVerticalSplitter i setSnapVerticalSplitter określają, czy pionowy podziałnik powinien przełączać się w stan zminimalizowany, gdy boczny region jest wystarczająco mały.
Właściwość getPreferSingleView i setPreferSingleView określa, czy użytkownik preferuje widok jednoregionowy na pełnym oknie zamiast standardowego normalnego widoku z trzema regionami zawartości. Jeśli jest włączona, aplikacja może wyświetlić jeden z regionów zawartości na całym oknie.
Metody getVerticalBarState i getHorizontalBarState określają stan, w jakim ma być wyświetlany odpowiednio pionowy lub poziomy pasek podziałnika. Poziomy pasek podziałnika oddziela slajd od regionu zawartości pod slajdem, pionowy pasek podziałnika oddziela slajd od bocznego regionu zawartości. Możliwe wartości to: SplitterBarStateType::Minimized, SplitterBarStateType::Maximized oraz SplitterBarStateType::Restored.
Metody getRestoredLeft i getRestoredTop określają rozmiar górnego lub bocznego regionu slajdu w normalnym widoku, gdy wartość SplitterBarStateType::Restored jest zastosowana dla getVerticalBarState i getHorizontalBarState odpowiednio.
O przywracaniu INormalViewProperties
Określa rozmiar regionu slajdu (szerokość gdy jest potomkiem getRestoredTop, wysokość gdy jest potomkiem getRestoredLeft) w normalnym widoku, gdy region ma zmienny rozmiar przywrócony (niezminimalizowany ani niezmaksymalizowany).
Metoda getDimensionSize określa rozmiar regionu slajdu (szerokość gdy jest potomkiem restoredTop, wysokość gdy jest potomkiem restoredLeft).
Metoda getAutoAdjust określa, czy rozmiar bocznego regionu zawartości powinien kompensować nowy rozmiar przy zmianie rozmiaru okna zawierającego widok w aplikacji.
Poniżej podano przykład, który pokazuje, jak uzyskać dostęp do właściwości ViewProperties::getNormalViewProperties dla prezentacji.
$pres = new Presentation();
try {
$pres->getViewProperties()->getNormalViewProperties()->setHorizontalBarState(SplitterBarStateType::Restored);
$pres->getViewProperties()->getNormalViewProperties()->setVerticalBarState(SplitterBarStateType::Maximized);
# Przywróć właściwości widoku prezentacji
$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();
}
Ustaw domyślną wartość powiększenia
Aby ustawić właściwości widoku, wykonaj poniższe kroki:
- Utwórz instancję klasy Presentation.
- Ustaw View Properties dla Presentation.
- Zapisz prezentację jako plik PPTX file. W poniższym przykładzie ustawiliśmy wartość powiększenia zarówno dla widoku slajdu, jak i widoku notatek.
$presentation = new Presentation();
try {
# Ustawianie właściwości widoku prezentacji
$presentation->getViewProperties()->getSlideViewProperties()->setScale(100); // Wartość powiększenia w procentach dla widoku slajdu
$presentation->getViewProperties()->getNotesViewProperties()->setScale(100); // Wartość powiększenia w procentach dla widoku notatek
$presentation->save("Zoom_out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Ustaw odstęp siatki
Użyj Presentation::getViewProperties, aby uzyskać dostęp do ustawień widoku obejmujących całą prezentację. Metody ViewProperties::getGridSpacing i ViewProperties::setGridSpacing odczytują lub zmieniają odstęp podstawowej siatki edycji. To ustawienie dotyczy całej prezentacji, a nie pojedynczego slajdu. Odstęp siatki podawany jest w punktach, gdzie 72 punkty równa się jednemu calowi. Użyj wartości dodatniej, zgodnie z dokumentacją API.
Poniższy przykład otwiera istniejący plik demo.pptx, wyświetla bieżący odstęp siatki, ustawia interwał ćwierć cala i zapisuje wynik.
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();
}
Siatka różni się od drawing guides. Odstęp siatki kontroluje regularny interwał, podczas gdy prowadnice rysunkowe są indywidualnie pozycjonowanymi poziomymi lub pionowymi liniami wyrównania. Dodawanie, przesuwanie lub usuwanie prowadnic rysunkowych nie zmienia odstępu siatki.
Zarówno siatka, jak i prowadnice rysunkowe są pomocnikami edycji. Nie są renderowane jako zawartość slajdu w PDF, obrazach, SVG ani w pokazie slajdów. Przechowywanie odstępu siatki nie gwarantuje, że edytor wyświetli siatkę: jej widoczność zależy również od preferencji przeglądarki lub edytora.
Pokaż lub ukryj komentarze przy otwieraniu prezentacji
Użyj Presentation::getViewProperties aby uzyskać dostęp do ustawień widoku obejmujących całą prezentację. Użyj ViewProperties::getShowComments i ViewProperties::setShowComments aby odczytać lub zmienić zapisaną preferencję dotyczącą wyświetlania komentarzy podczas otwierania prezentacji w PowerPoint lub innym zgodnym edytorze.
To ustawienie kontroluje tylko zapisaną preferencję widoku. Nie dodaje, nie usuwa, nie edytuje ani nie rozwiązuje komentarzy. Ukrywanie komentarzy zachowuje ich treść, autorów, pozycje, odpowiedzi i stany. Zobacz Presentation Comments po operacje zmieniające same komentarze.
Poniższy przykład wymaga istniejącego pliku comments.pptx zawierającego komentarze. Wyświetla bieżące ustawienie widoczności, żąda ukrycia komentarzy i zapisuje nowy plik PPTX bez usuwania żadnych komentarzy. Używa także ViewProperties::setLastView wraz z ViewType::SlideView, aby skonfigurować początkowy widok edycji wraz z widocznością komentarzy.
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();
}
To ustawienie nie określa, czy komentarze są uwzględniane w eksportach do PDF, HTML, obrazów, notatek ani materiałów rozdawniczych. Konfiguruj odpowiednie opcje specyficzne dla eksportu osobno.
FAQ
Dlaczego siatka nie jest widoczna po ponownym otwarciu prezentacji?
Plik przechowuje odstęp siatki, ale to edytor decyduje, czy siatka jest wyświetlana. Sprawdź ustawienia widoczności siatki w edytorze.
Czy usunięcie prowadnic rysunkowych zmienia odstęp siatki?
Nie. Prowadnice rysunkowe i odstęp siatki są niezależnymi ustawieniami. Usunięcie prowadnic nie zmienia zapisanego interwału siatki.
Czy mogę ustawić różne ustawienia widoku dla różnych sekcji prezentacji?
Ustawienia widoku są definiowane na poziomie prezentacji (Normal View/Slide View), a nie dla poszczególnych sekcji, więc jeden zestaw parametrów obowiązuje dla całego dokumentu po jego otwarciu.
Czy mogę predefiniować różne stany widoku dla różnych użytkowników?
Nie. Ustawienia są przechowywane w pliku i są współdzielone. Aplikacje przeglądające mogą respektować preferencje użytkownika, ale sam plik zawiera jedną zestaw właściwości widoku.
Czy mogę przygotować szablon z predefiniowanymi właściwościami widoku, aby nowe prezentacje otwierały się w ten sam sposób?
Tak. Ponieważ właściwości widoku są przechowywane na poziomie prezentacji, możesz osadzić je w szablonie i tworzyć z niego nowe dokumenty z taką samą początkową konfiguracją widoku.