Ανάκτηση και Ενημέρωση Ιδιοτήτων Προβολής Παρουσίασης σε Python μέσω Java

Εισαγωγή

Η κανονική προβολή αποτελείται από τρεις περιοχές περιεχομένου: τη διαφάνεια αυτή καθαυτή, μια πλευρική περιοχή περιεχομένου και μια κάτω περιοχή περιεχομένου. Οι ιδιότητες της κανονικής προβολής περιγράφουν τη θέση αυτών των περιοχών περιεχομένου. Αυτές οι πληροφορίες επιτρέπουν στην εφαρμογή να αποθηκεύσει την κατάσταση προβολής στο αρχείο, ώστε όταν ανοίξει ξανά η προβολή να είναι στην ίδια κατάσταση όπως όταν η παρουσίαση αποθηκεύτηκε τελευταία.

Η μέθοδος ViewProperties.getNormalViewProperties προστέθηκε για να παρέχει πρόσβαση στις ιδιότητες της κανονικής προβολής μιας παρουσίασης.

Οι κλάσεις NormalViewProperties και NormalViewRestoredProperties και η απαρίθμηση SplitterBarStateType προστέθηκαν.

Σχετικά με NormalViewProperties

Αντιπροσωπεύει τις ιδιότητες της κανονικής προβολής.

Οι μέθοδοι getShowOutlineIcons και setShowOutlineIcons καθορίζουν αν η εφαρμογή θα πρέπει να εμφανίζει εικονίδια όταν εμφανίζει το περιεχόμενο περιγράμματος σε οποιαδήποτε από τις περιοχές περιεχομένου της λειτουργίας κανονικής προβολής.

Οι μέθοδοι getSnapVerticalSplitter και setSnapVerticalSplitter καθορίζουν αν ο κάθετος διαχωριστής θα «κολλάει» σε ελαχιστοποιημένη κατάσταση όταν η πλευρική περιοχή είναι αρκετά μικρή.

Οι μέθοδοι getPreferSingleView και setPreferSingleView καθορίζουν αν ο χρήστης προτιμά να βλέπει μία περιοχή περιεχομένου σε πλήρη παράθυρο αντί για την τυπική κανονική προβολή με τρεις περιοχές περιεχομένου. Εάν ενεργοποιηθεί, η εφαρμογή μπορεί να επιλέξει να εμφανίσει μία από τις περιοχές περιεχομένου σε ολόκληρο το παράθυρο.

Οι μέθοδοι getVerticalBarState και getHorizontalBarState καθορίζουν την κατάσταση στην οποία πρέπει να εμφανίζεται η οριζόντια ή κάθετη γραμμή διαχωρισμού. Μία οριζόντια γραμμή διαχωρισμού διαχωρίζει τη διαφάνεια από την περιοχή περιεχομένου κάτω από τη διαφάνεια· μια κάθετη γραμμή διαχωρισμού διαχωρίζει τη διαφάνεια από την πλευρική περιοχή περιεχομένου. Πιθανές τιμές είναι: SplitterBarStateType.Minimized, SplitterBarStateType.Maximized και SplitterBarStateType.Restored.

Οι μέθοδοι getRestoredLeft και getRestoredTop καθορίζουν το μέγεθος της πάνω ή της πλευρικής περιοχής διαφάνειας της κανονικής προβολής, όταν η τιμή SplitterBarStateType.Restored εφαρμόζεται στη getVerticalBarState και στη getHorizontalBarState, αντίστοιχα.

Σχετικά με την Επαναφορά NormalViewProperties

Καθορίζει το μέγεθος της περιοχής διαφάνειας (πλάτος όταν είναι θυγατρική του getRestoredTop, ύψος όταν είναι θυγατρική του getRestoredLeft) της κανονικής προβολής, όταν η περιοχή έχει μεταβλητό επαναφερθέν μέγεθος (ούτε ελαχιστοποιημένη ούτε μεγιστοποιημένη).

Η μέθοδος getDimensionSize καθορίζει το μέγεθος της περιοχής διαφάνειας (πλάτος όταν είναι θυγατρική του getRestoredTop, ύψος όταν είναι θυγατρική του getRestoredLeft).

Η μέθοδος getAutoAdjust καθορίζει αν το μέγεθος της πλευρικής περιοχής περιεχομένου πρέπει να προσαρμοστεί στο νέο μέγεθος κατά την αλλαγή μεγέθους του παραθύρου που περιέχει την προβολή μέσα στην εφαρμογή.

Το παρακάτω παράδειγμα δείχνει πώς να αποκτήσετε πρόσβαση στο ViewProperties.getNormalViewProperties για μια παρουσίαση.

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)

    # Επαναφορά των ιδιοτήτων προβολής της παρουσίασης.
    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()

Ορισμός Προεπιλεγμένης Τιμής Ζουμ

Για να ορίσετε τις ιδιότητες προβολής, ακολουθήστε τα παρακάτω βήματα:

  1. Δημιουργήστε μια εμφάνιση της κλάσης Presentation.
  2. Ορίστε τις View Properties του Presentation.
  3. Αποθηκεύστε την παρουσίαση ως αρχείο PPTX.

Στο παρακάτω παράδειγμα, ορίζουμε την τιμή ζουμ και για την προβολή διαφάνειας και για την προβολή σημειώσεων.

import jpype
import asposeslides

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

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation()
try:
    # Ορισμός των ιδιοτήτων προβολής της παρουσίασης.
    presentation.getViewProperties().getSlideViewProperties().setScale(100)  # Ποσοστό ζουμ για προβολή διαφάνειας.
    presentation.getViewProperties().getNotesViewProperties().setScale(100)  # Ποσοστό ζουμ για προβολή σημειώσεων.

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

Ορισμός Απόστασης Πλέγματος

Χρησιμοποιήστε το Presentation.getViewProperties για πρόσβαση στις ρυθμίσεις προβολής σε όλο το επίπεδο παρουσίασης. Οι μέθοδοι ViewProperties.getGridSpacing και ViewProperties.setGridSpacing διαβάζουν ή αλλάζουν το διάστημα του υποκείμενου πλέγματος επεξεργασίας. Αυτή η ρύθμιση ισχύει για ολόκληρη την παρουσίαση, όχι για μεμονωμένη διαφάνεια. Η απόσταση πλέγματος καθορίζεται σε πόντους, όπου 72 πόντοι ισοδυναμούν με μία ίντσα. Χρησιμοποιήστε μια θετική τιμή, όπως απαιτεί η τεκμηρίωση του API.

Το παρακάτω παράδειγμα ανοίγει ένα υπάρχον αρχείο demo.pptx, εκτυπώνει την τρέχουσα απόσταση πλέγματος, ορίζει ένα διάστημα τε¼ς ίντσας και αποθηκεύει το αποτέλεσμα.

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

Το πλέγμα διαφέρει από τις drawing guides. Η απόσταση πλέγματος ελέγχει ένα τακτικό διάστημα, ενώ οι οδηγίες σχεδίασης είναι ατομικά τοποθετημένες οριζόντιες ή κάθετες γραμμές ευθυγράμμισης. Η προσθήκη, κίνηση ή διαγραφή των οδηγών σχεδίασης δεν αλλάζει την απόσταση του πλέγματος.

Τanto το πλέγμα όσο και οι οδηγίες σχεδίασης είναι βοηθήματα επεξεργασίας. Δεν αποδίδονται ως περιεχόμενο διαφάνειας σε PDF, εικόνες, SVG ή παρουσίαση. Η αποθήκευση της απόστασης του πλέγματος δεν εγγυάται ότι ένας επεξεργαστής θα εμφανίσει το πλέγμα: η ορατότητά του εξαρτάται επίσης από τις προτιμήσεις του προγράμματος προβολής ή επεξεργαστή.

Εμφάνιση ή Απόκρυψη Σχολίων Κατά το Άνοιγμα Παρουσίασης

Χρησιμοποιήστε το Presentation.getViewProperties για πρόσβαση στις ρυθμίσεις προβολής σε όλο το επίπεδο παρουσίασης. Χρησιμοποιήστε τα ViewProperties.getShowComments και ViewProperties.setShowComments για να διαβάσετε ή να αλλάξετε την αποθηκευμένη προτίμηση για το αν τα σχόλια θα εμφανίζονται όταν η παρουσίαση ανοίγει στο PowerPoint ή σε κάποιο άλλο συμβατό πρόγραμμα.

Αυτή η ρύθμιση ελέγχει μόνο την αποθηκευμένη προτίμηση προβολής. Δεν προσθέτει, αφαιρεί, επεξεργάζεται ή επιλύει σχόλια. Η απόκρυψη των σχολίων διατηρεί το περιεχόμενό τους, τους συγγραφείς, τις θέσεις, τις απαντήσεις και τις καταστάσεις. Δείτε τα Presentation Comments για ενέργειες που αλλάζουν τα ίδια τα σχόλια.

Το παρακάτω παράδειγμα απαιτεί ένα υπάρχον αρχείο comments.pptx που περιέχει σχόλια. Εκτυπώνει την τρέχουσα ρύθμιση ορατότητας, ζητάει να κρυφτούν τα σχόλια και αποθηκεύει ένα νέο PPTX χωρίς να αφαιρέσει κανένα σχόλιο. Χρησιμοποιεί επίσης το ViewProperties.setLastView με το ViewType.SlideView για να διαμορφώσει την αρχική προβολή επεξεργασίας μαζί με την ορατότητα των σχολίων.

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

Αυτή η ρύθμιση δεν καθορίζει αν τα σχόλια θα συμπεριληφθούν στις εξαγωγές PDF, HTML, εικόνας, σημειώσεων ή φυλλαδίων. Διαμορφώστε τις αντίστοιχες επιλογές εξαγωγής ξεχωριστά.

FAQ

Γιατί το πλέγμα δεν είναι ορατό αφού ξαναάνοιξα την παρουσίαση;

Το αρχείο αποθηκεύει την απόσταση του πλέγματος, αλλά ο επεξεργαστής ελέγχει αν το πλέγμα εμφανίζεται. Ελέγξτε τις ρυθμίσεις ορατότητας πλέγματος του επεξεργαστή.

Αλλάζει η διαγραφή των οδηγών σχεδίασης την απόσταση του πλέγματος;

Όχι. Οι οδηγίες σχεδίασης και η απόσταση πλέγματος είναι ανεξάρτητες ρυθμίσεις. Η διαγραφή των οδηγών αφήνει το αποθηκευμένο διάστημα πλέγματος αμετάβλητο.

Μπορώ να ορίσω διαφορετικές ρυθμίσεις προβολής για διαφορετικές ενότητες μιας παρουσίασης;

Οι ρυθμίσεις προβολής ορίζονται σε επίπεδο παρουσίασης (Normal View/Slide View), όχι ανά ενότητα, έτσι ένα ενιαίο σύνολο παραμέτρων ισχύει για ολόκληρο το έγγραφο όταν ανοίγει.

Μπορώ να προκαθορίσω διαφορετικές καταστάσεις προβολής για διαφορετικούς χρήστες;

Όχι. Οι ρυθμίσεις αποθηκεύονται στο αρχείο και μοιράζονται. Οι εφαρμογές προβολής μπορεί να τηρήσουν τις προτιμήσεις χρήστη, αλλά το ίδιο το αρχείο περιέχει ένα σετ ιδιοτήτων προβολής.

Μπορώ να ετοιμάσω ένα πρότυπο με προκαθορισμένες Ιδιότητες Προβολής ώστε νέες παρουσιάσεις να ανοίγουν με τον ίδιο τρόπο;

Ναι. Επειδή οι ιδιότητες προβολής αποθηκεύονται σε επίπεδο παρουσίασης, μπορείτε να τις ενσωματώσετε σε ένα πρότυπο και να δημιουργήσετε νέα έγγραφα από αυτό με την ίδια αρχική ρύθμιση προβολής.