Hämta och uppdatera presentationsvisningsinställningar i Python via Java

Introduktion

Normalvyn består av tre innehållsområden: själva bilden, ett sidoinnehållsområde och ett botteninnehållsområde. Normalvy‑egenskaper beskriver placeringen av dessa innehållsområden. Denna information gör att applikationen kan spara sitt visningsläge till filen, så att när den öppnas igen är vyn i samma tillstånd som när presentationen senast sparades.

Metoden ViewProperties.getNormalViewProperties har lagts till för att ge åtkomst till normalvyns egenskaper för en presentation.

Klasserna NormalViewProperties och NormalViewRestoredProperties samt uppräkningen SplitterBarStateType har lagts till.

Om NormalViewProperties

Representerar egenskaper för normalvyn.

Metoderna getShowOutlineIcons och setShowOutlineIcons anger om applikationen ska visa ikoner när dispositionens innehåll visas i någon av innehållsområdena i normalvy‑läget.

Metoderna getSnapVerticalSplitter och setSnapVerticalSplitter anger om den vertikala delaren ska låsas till ett minimerat tillstånd när sidområdet är tillräckligt litet.

Metoderna getPreferSingleView och setPreferSingleView anger om användaren föredrar att se ett full‑fönster med ett enskilt innehållsområde i stället för den vanliga normalvyn med tre innehållsområden. Om detta är aktiverat kan applikationen välja att visa ett av innehållsområdena i hela fönstret.

Metoderna getVerticalBarState och getHorizontalBarState anger i vilket tillstånd den horisontella eller vertikala delarstapeln ska visas. En horisontell delarstapel separerar bilden från innehållsområdet under bilden; en vertikal delarstapel separerar bilden från sidoinnehållsområdet. Möjliga värden är: SplitterBarStateType.Minimized, SplitterBarStateType.Maximized och SplitterBarStateType.Restored.

Metoderna getRestoredLeft och getRestoredTop anger storleken på den övre eller sidobildsområdet i normalvyn när värdet SplitterBarStateType.Restored tillämpas på getVerticalBarState respektive getHorizontalBarState.

Om att återställa NormalViewProperties

Anger storleken på bildområdet (bredd när det är ett barn till getRestoredTop, höjd när det är ett barn till getRestoredLeft) i normalvyn, när området har en variabel återställd storlek (varken minimerad eller maximiserad).

Metoden getDimensionSize specificerar storleken på bildområdet (bredd när det är ett barn till getRestoredTop, höjd när det är ett barn till getRestoredLeft).

Metoden getAutoAdjust anger om storleken på sidoinnehållsområdet ska anpassas till den nya storleken när fönstret som innehåller vyn i applikationen ändras.

Exemplet nedan visar hur man får åtkomst till ViewProperties.getNormalViewProperties för en presentation.

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)

    # Återställ presentationens visningsinställningar.
    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()

Ställ in standardzoomvärdet

För att ställa in visnings‑egenskaperna, följ dessa steg:

  1. Skapa en instans av klassen Presentation.
  2. Ställ in View Properties för Presentation.
  3. Skriv presentationen som en PPTX‑fil.

I exemplet nedan sätter vi zoomvärdet för både bildvyn och anteckningsvyn.

import jpype
import asposeslides

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

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation()
try:
    # Ställ in presentationens visningsinställningar.
    presentation.getViewProperties().getSlideViewProperties().setScale(100)  # Zoomprocent för bildvyn.
    presentation.getViewProperties().getNotesViewProperties().setScale(100)  # Zoomprocent för anteckningsvyn.

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

Ställ in rutnätsavståndet

Använd Presentation.getViewProperties för att få åtkomst till visningsinställningarna för hela presentationen. Metoderna ViewProperties.getGridSpacing och ViewProperties.setGridSpacing läser eller ändrar intervallet för det underliggande redigeringsrutnätet. Denna inställning gäller hela presentationen, inte en enskild bild. Rutnätsavståndet anges i punkter, där 72 punkter motsvarar en tum. Använd ett positivt värde, enligt API‑dokumentationen.

Följande exempel öppnar en befintlig demo.pptx, skriver ut dess aktuella rutnätsavstånd, sätter ett fjärdedel‑tum‑intervall och sparar resultatet.

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

Rutnätet är annorlunda än drawing guides. Rutnätsavståndet styr ett regelbundet intervall, medan ritningsguider är individuellt placerade horisontella eller vertikala justeringslinjer. Att lägga till, flytta eller rensa ritningsguider ändrar inte rutnätsavståndet.

Både rutnätet och ritningsguiderna är redigeringshjälpmedel. De renderas inte som bildinnehåll i PDF, bilder, SVG eller ett bildspel. Att lagra rutnätsavståndet garanterar inte att en redigerare visar rutnätet: dess synlighet beror också på visnings‑ eller redigerarens inställningar.

Visa eller dölja kommentarer när en presentation öppnas

Använd Presentation.getViewProperties för att få åtkomst till visningsinställningarna för hela presentationen. Använd ViewProperties.getShowComments och ViewProperties.setShowComments för att läsa eller ändra den lagrade preferensen för om kommentarer ska visas när presentationen öppnas i PowerPoint eller en annan kompatibel redigerare.

Denna inställning styr endast den lagrade visningspreferensen. Den lägger inte till, tar bort, redigerar eller löser kommentarer. Att dölja kommentarer bevarar deras innehåll, författare, positioner, svar och status. Se Presentation Comments för operationer som ändrar kommentarerna själva.

Följande exempel kräver en befintlig comments.pptx som innehåller kommentarer. Det skriver ut den aktuella synlighetsinställningen, begär att kommentarer ska döljas och sparar en ny PPTX utan att ta bort några kommentarer. Det använder också ViewProperties.setLastView med ViewType.SlideView för att konfigurera den initiala redigeringsvyn tillsammans med kommentarernas synlighet.

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

Denna inställning avgör inte om kommentarer inkluderas i PDF-, HTML-, bild-, antecknings- eller utdrags‑export. Konfigurera de relevanta export‑specifika alternativen separat.

FAQ

Varför är rutnätet inte synligt när jag öppnar presentationen igen?

Filen lagrar rutnätsavståndet, men redigeraren styr om rutnätet visas. Kontrollera redigerarens inställningar för rutnätsynlighet.

Ändrar rensning av ritningsguider rutnätsavståndet?

Nej. Ritningsguider och rutnätsavstånd är oberoende inställningar. Att rensa guider lämnar det lagrade rutnätsintervallet oförändrat.

Kan jag ange olika visningsinställningar för olika avsnitt i en presentation?

View settings definieras på presentationsnivå (Normal View/Slide View), inte per avsnitt, så ett enda parameter‑set gäller för hela dokumentet när det öppnas.

Kan jag fördefiniera olika visningstillstånd för olika användare?

Nej. Inställningarna lagras i filen och delas. Visningsprogram kan hedra användarpreferenser, men själva filen innehåller ett enda set av visningsegenskaper.

Kan jag förbereda en mall med fördefinierade View Properties så att nya presentationer öppnas på samma sätt?

Ja. Eftersom view properties lagras på presentationsnivå kan du bädda in dem i en mall och skapa nya dokument från den med samma initiala visningskonfiguration.