Μετατροπή παρουσιάσεων PowerPoint σε XML με Python μέσω Java

Επισκόπηση

Aspose.Slides for Python via Java μπορεί να μετατρέπει παρουσιάσεις PowerPoint στη μορφή PowerPoint XML Presentation. Η έξοδος XML είναι χρήσιμη όταν χρειάζεστε μια κειμενική αναπαράσταση για τον έλεγχο της δομής της παρουσίασης, την αντιμετώπιση προβλημάτων των παραγόμενων εγγράφων, τη σύγκριση αποτελεσμάτων σε αυτοματοποιημένες δοκιμές ή την ενσωμάτωση με μια ροή εργασίας που καταναλώνει XML αντί για πακέτο παρουσίασης.

Χρησιμοποιήστε τη μέθοδο Presentation.save με την τιμή Xml από την κλάση SaveFormat. Μπορείτε να γράψετε το αποτέλεσμα απευθείας σε αρχείο ή σε ροή.

Μετατροπή παρουσίασης σε αρχείο XML

Φορτώστε μια πηγαία παρουσίαση με την κλάση Presentation και, στη συνέχεια, περάστε τη διαδρομή εξόδου και το SaveFormat.Xml στη μέθοδο Presentation.save. Η πηγή μπορεί να είναι οποιαδήποτε μορφή παρουσίασης που υποστηρίζεται για φόρτωση, όπως PPT, PPTX ή ODP.

Το παρακάτω παράδειγμα μετατρέπει μια παρουσίαση PPTX σε αρχείο XML:

import jpype
import asposeslides

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

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation("presentation.pptx")
try:
    presentation.save("presentation.xml", SaveFormat.Xml)
finally:
    presentation.dispose()

Εγγραφή εξόδου XML σε ροή

Χρησιμοποιήστε την υπερφόρτωση ροής της μεθόδου Presentation.save όταν το XML πρέπει να παραμείνει στη μνήμη ή να περάσει σε άλλο στοιχείο, όπως μια υπηρεσία web, πάροχο αποθήκευσης ή pipeline επεξεργασίας XML. Το παρακάτω παράδειγμα γράφει το αποτέλεσμα σε ένα ByteArrayOutputStream και λαμβάνει το παραγόμενο XML ως αντικείμενο bytes της Python:

import jpide
import asposeslides

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

from asposeslides.api import Presentation, SaveFormat

ByteArrayOutputStream = jpype.JClass("java.io.ByteArrayOutputStream")

presentation = Presentation("presentation.pptx")
try:
    xml_stream = ByteArrayOutputStream()
    try:
        presentation.save(xml_stream, SaveFormat.Xml)
        java_bytes = xml_stream.toByteArray()
        xml_data = bytes(java_bytes)

        # Περάστε το xml_data στο επόμενο στοιχείο της ροής εργασίας.
    finally:
        xml_stream.close()
finally:
    presentation.dispose()

Σύγκριση XML με μορφές Παρουσίασης και Εξαγωγής

Επιλέξτε τη μορφή εξόδου ανάλογα με το πώς θα χρησιμοποιηθεί το αποτέλεσμα:

Μορφή Έξοδος Τυπική χρήση
PowerPoint XML (.xml) Μια PowerPoint XML Presentation Έλεγχος δομής, αντιμετώπιση προβλημάτων, σύγκριση παραγόμενων αποτελεσμάτων και ενσωμάτωση βάσει XML
PPT (.ppt) Αρχείο παρουσίασης παλαιού δυαδικού τύπου Συμβατότητα με παλαιές ροές εργασίας PowerPoint
PPTX (.pptx) Πακέτο Office Open XML με πολλαπλά μέρη Κανονική επεξεργασία PowerPoint και ανταλλαγή παρουσιάσεων
PDF ή TIFF Σελίδες σταθερής διάταξης ή εικόνα πολλαπλών σελίδων Προβολή, εκτύπωση και αρχειοθέτηση
PNG, JPEG ή SVG Αποτυπωμένη αναπαράσταση μεμονωμένης διαφάνειας Μικρογραφίες, προεπισκοπήσεις και εικόνες πόρων
HTML ή HTML5 Έξοδος παρουσίασης προσανατολισμένης στο web Προβολή σε πρόγραμμα περιήγησης και δημοσίευση στο web

Σε αντίθεση με τα PPT και PPTX, η έξοδος XML προορίζεται κυρίως για έλεγχο και ροές εργασίας προσανατολισμένες στα δεδομένα. Σε αντίθεση με τα PDF, TIFF, HTML και μορφές εικόνας διαφάνειας, το XML αντιπροσωπεύει τα δεδομένα της παρουσίασης αντί για απόδοση των διαφανειών ως σελίδες ή οπτικά περιουσιακά στοιχεία. Ο πίνακας supported file formats καταγράφει το PowerPoint XML Presentation ως μορφή μόνο αποθήκευσης, οπότε μην το χρησιμοποιείτε όταν μια ροή εργασίας πρέπει να φορτώσει ξανά το εξαγόμενο αρχείο στο Aspose.Slides για συνεχή επεξεργασία.

Συχνές Ερωτήσεις

Είναι η εξαγωγή XML ίδια με την αποθήκευση αρχείου PPTX;

Όχι. Το PPTX είναι ένα πακέτο που περιέχει πολλαπλά μέρη Office Open XML, ενώ το SaveFormat.Xml δημιουργεί ένα αρχείο PowerPoint XML Presentation.

Μπορώ να αποθηκεύσω την έξοδο XML χωρίς να δημιουργήσω αρχείο στο δίσκο;

Ναι. Περάστε μια εγγράψιμη ροή εξόδου Java στη μέθοδο Presentation.save. Για παράδειγμα, χρησιμοποιήστε ένα ByteArrayOutputStream για επεξεργασία στη μνήμη.

Μπορεί το Aspose.Slides να φορτώσει ξανά το εξαγόμενο αρχείο XML;

Όχι. Η PowerPoint XML Presentation υποστηρίζεται αυτή τη στιγμή μόνο για αποθήκευση, όχι για φόρτωση. Χρησιμοποιήστε PPTX ή άλλη υποστηριζόμενη μορφή παρουσίασης όταν απαιτείται επαναληπτική επεξεργασία.

Η μετατροπή XML αποδίδει κάθε διαφάνεια ως σελίδα ή εικόνα;

Όχι. Η μετατροπή XML γράφει δομημένα δεδομένα παρουσίασης. Χρησιμοποιήστε PDF ή TIFF για έξοδο προσανατολισμένο σε σελίδες ή PNG, JPEG και SVG για εικόνες μεμονωμένων διαφανειών.