Αποθήκευση Παρουσιάσεων σε JavaScript

Επισκόπηση

Άνοιγμα Παρουσιάσεων σε JavaScript περιγράφει πώς να χρησιμοποιήσετε την κλάση Presentation για να ανοίξετε μια παρουσίαση. Αυτό το άρθρο εξηγεί πώς να δημιουργήσετε και να αποθηκεύσετε παρουσιάσεις. Η κλάση Presentation περιέχει τα περιεχόμενα μιας παρουσίασης. Είτε δημιουργείτε μια παρουσίαση από το μηδέν είτε τροποποιείτε μια υπάρχουσα, θα θέλετε να την αποθηκεύσετε όταν τελειώσετε. Με το Aspose.Slides για Node.js, μπορείτε να αποθηκεύσετε σε αρχείο ή ροή. Αυτό το άρθρο εξηγεί τους διαφορετικούς τρόπους αποθήκευσης μιας παρουσίασης.

Αποθήκευση Παρουσιάσεων σε Αρχεία

Αποθηκεύστε μια παρουσίαση σε αρχείο καλώντας τη μέθοδο save της κλάσης Presentation. Περάστε το όνομα του αρχείου και τη μορφή αποθήκευσης στη μέθοδο. Το παρακάτω παράδειγμα δείχνει πώς να αποθηκεύσετε μια παρουσίαση με το Aspose.Slides.

// Δημιουργήστε το αντικείμενο κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
let presentation = new aspose.slides.Presentation();
try {
    // Κάντε κάποια εργασία εδώ...

    // Αποθηκεύστε την παρουσίαση σε αρχείο.
    presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Αποθήκευση Παρουσιάσεων σε Ροές

Μπορείτε να αποθηκεύσετε μια παρουσίαση σε ροή περνώντας μια ροή εξόδου στη μέθοδο save της κλάσης Presentation. Μια παρουσίαση μπορεί να γραφτεί σε πολλούς τύπους ροών. Στο παρακάτω παράδειγμα, δημιουργούμε μια νέα παρουσίαση και την αποθηκεύουμε σε ροή αρχείου.

// Δημιουργήστε το αντικείμενο κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
let presentation = new aspose.slides.Presentation();
try {
    let fileStream = java.newInstanceSync("java.io.FileOutputStream", "Output.pptx");
    try {
        // Αποθηκεύστε την παρουσίαση στη ροή.
        presentation.save(fileStream, aspose.slides.SaveFormat.Pptx);
    } finally {
        fileStream.close();
    }
} finally {
    presentation.dispose();
}

Αποθήκευση Παρουσιάσεων με Προκαθορισμένο Τύπο Προβολής

Το Aspose.Slides σας επιτρέπει να ορίσετε την αρχική προβολή που χρησιμοποιεί το PowerPoint όταν ανοίγει η δημιουργημένη παρουσίαση μέσω της κλάσης ViewProperties. Χρησιμοποιήστε τη μέθοδο setLastView με τιμή από την ένωση ViewType.

let presentation = new aspose.slides.Presentation();
try {
    presentation.getViewProperties().setLastView(aspose.slides.ViewType.SlideMasterView);
    presentation.save("SlideMasterView.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Αποθήκευση Παρουσιάσεων σε Ακριβή Μορφή Office Open XML

Το Aspose.Slides σας επιτρέπει να αποθηκεύσετε μια παρουσίαση σε ακριβή μορφή Office Open XML. Χρησιμοποιήστε την κλάση PptxOptions και ορίστε την ιδιότητα conformance κατά την αποθήκευση. Αν ορίσετε το Conformance.Iso29500_2008_Strict, το αρχείο εξόδου αποθηκεύεται στην ακριβή μορφή Office Open XML.

Το παρακάτω παράδειγμα δημιουργεί μια παρουσίαση και τη αποθηκεύει στην ακριβή μορφή Office Open XML.

let options = new aspose.slides.PptxOptions();
options.setConformance(aspose.slides.Conformance.Iso29500_2008_Strict);

// Δημιουργήστε το αντικείμενο κλάσης Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
let presentation = new aspose.slides.Presentation();
try {
    // Αποθηκεύστε την παρουσίαση σε ακριβή μορφή Office Open XML.
    presentation.save("StrictOfficeOpenXml.pptx", aspose.slides.SaveFormat.Pptx, options);
} finally {
    presentation.dispose();
}

Αποθήκευση Παρουσιάσεων σε Μορφή Office Open XML σε Λειτουργία Zip64

Ένα αρχείο Office Open XML είναι ένα αρχείο ZIP που περιορίζει το μέγεθος σε 4 GB (2^32 bytes) για το σπασμένο μέγεθος, το συμπιεσμένο μέγεθος και το συνολικό μέγεθος του αρχειοθηκοποιήματος, καθώς και σε 65 535 (2^16‑1) αρχεία. Οι επεκτάσεις μορφής ZIP64 αυξάνουν αυτά τα όρια στα 2^64.

Η μέθοδος PptxOptions.setZip64Mode σας επιτρέπει να επιλέξετε πότε να χρησιμοποιήσετε τις επεκτάσεις μορφής ZIP64 κατά την αποθήκευση ενός αρχείου Office Open XML.

Αυτή η μέθοδος μπορεί να χρησιμοποιηθεί με τις παρακάτω λειτουργίες:

  • IfNecessary χρησιμοποιεί τις επεκτάσεις μορφής ZIP64 μόνο αν η παρουσίαση υπερβαίνει τους περιορισμούς παραπάνω. Αυτή είναι η προεπιλεγμένη λειτουργία.
  • Never δεν χρησιμοποιεί ποτέ τις επεκτάσεις μορφής ZIP64.
  • Always χρησιμοποιεί πάντα τις επεκτάσεις μορφής ZIP64.

Ο παρακάτω κώδικας δείχνει πώς να αποθηκεύσετε μια παρουσίαση ως PPTX με ενεργοποιημένες τις επεκτάσεις μορφής ZIP64:

let pptxOptions = new aspose.slides.PptxOptions();
pptxOptions.setZip64Mode(aspose.slides.Zip64Mode.Always);

let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
    presentation.save("OutputZip64.pptx", aspose.slides.SaveFormat.Pptx, pptxOptions);
} finally {
    presentation.dispose();
}

Αποθήκευση Παρουσιάσεων χωρίς Ανανέωση της Μικρογραφίας

Η μέθοδος PptxOptions.setRefreshThumbnail ελέγχει τη δημιουργία μικρογραφίας όταν αποθηκεύεται μια παρουσίαση ως PPTX:

  • Αν οριστεί σε true, η μικρογραφία ανανεώνεται κατά την αποθήκευση. Αυτό είναι η προεπιλογή.
  • Αν οριστεί σε false, διατηρείται η τρέχουσα μικρογραφία. Αν η παρουσίαση δεν έχει μικρογραφία, δεν δημιουργείται καμία.

Στον παρακάτω κώδικα, η παρουσίαση αποθηκεύεται ως PPTX χωρίς ανανέωση της μικρογραφίας.

let pptxOptions = new aspose.slides.PptxOptions();
pptxOptions.setRefreshThumbnail(false);

let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
    presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx, pptxOptions);
}
finally {
    presentation.dispose();
}

Αποθήκευση Ενημερώσεων Προόδου σε Ποσοστό

Η αναφορά προόδου αποθήκευσης ρυθμίζεται μέσω της μεθόδου setProgressCallback στην κλάση SaveOptions και στις υποκλάσεις της. Παρέχετε έναν διακομιστή Java που υλοποιεί τη διεπαφή IProgressCallback; κατά την εξαγωγή, η κλήση επιστροφής λαμβάνει περιοδικές ενημερώσεις ποσοστού.

Τα παρακάτω αποσπάσματα κώδικα δείχνουν πώς να χρησιμοποιήσετε το IProgressCallback.

const ExportProgressHandler = java.newProxy("com.aspose.slides.IProgressCallback", {
    reporting: function(progressValue) {
        // Χρησιμοποιήστε εδώ την τιμή ποσοστού προόδου.
        const progress = Math.floor(progressValue);
        console.log(`${progress}% of the file has been converted.`);
    }
});

let saveOptions = new aspose.slides.PdfOptions();
saveOptions.setProgressCallback(ExportProgressHandler);

let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
    presentation.save("Output.pdf", aspose.slides.SaveFormat.Pdf, saveOptions);
} finally {
    presentation.dispose();
}

FAQ

Υποστηρίζεται η «γρήγορη αποθήκευση» (αυξομολόγητη αποθήκευση) ώστε να γράφονται μόνο οι αλλαγές;

Όχι. Η αποθήκευση δημιουργεί το πλήρες αρχείο προορισμού κάθε φορά· η αυξομολόγητη «γρήγορη αποθήκευση» δεν υποστηρίζεται.

Είναι ασφαλές ως προς τα νήματα να αποθηκευτεί το ίδιο αντικείμενο Presentation από πολλαπλά νήματα;

Όχι. Ένα αντικείμενο Presentation δεν είναι thread‑safe· αποθηκεύστε το από ένα μόνο νήμα.

Τι συμβαίνει με τους υπερσυνδέσμους και τα εξωτερικά συνδεδεμένα αρχεία κατά την αποθήκευση;

Τα Hyperlinks διατηρούνται. Τα εξωτερικά συνδεδεμένα αρχεία (π.χ. βίντεο μέσω σχετικών διαδρομών) δεν αντιγράφονται αυτόματα· βεβαιωθείτε ότι οι αναφερθείσες διαδρομές παραμένουν προσβάσιμες.

Μπορώ να ορίσω/αποθηκεύσω μεταδεδομένα εγγράφου (Συγγραφέας, Τίτλος, Εταιρεία, Ημερομηνία);

Ναί. Οι τυπικές document properties υποστηρίζονται και θα εγγραφούν στο αρχείο κατά την αποθήκευση.