Presentaties opslaan in JavaScript

Overzicht

Open Presentations in JavaScript beschrijft hoe je de Presentation klasse gebruikt om een presentatie te openen. Dit artikel legt uit hoe je presentaties maakt en opslaat. De Presentation klasse bevat de inhoud van een presentatie. Of je nu een presentatie vanaf nul maakt of een bestaande wijzigt, je wilt deze opslaan wanneer je klaar bent. Met Aspose.Slides voor Node.js kun je opslaan naar een bestand of stream. Dit artikel legt de verschillende manieren uit om een presentatie op te slaan.

Presentaties opslaan naar bestanden

Sla een presentatie op in een bestand door de save‑methode van de Presentation klasse aan te roepen. Geef de bestandsnaam en het opslagformaat door aan de methode. Het volgende voorbeeld toont hoe je een presentatie opslaat met Aspose.Slides.

// Instantieer de Presentation-klasse die een presentatiebestand vertegenwoordigt.
let presentation = new aspose.slides.Presentation();
try {
    // Voer hier wat werk uit...

    // Sla de presentatie op naar een bestand.
    presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Presentaties opslaan naar streams

Je kunt een presentatie opslaan naar een stream door een output‑stream door te geven aan de save‑methode van de Presentation klasse. Een presentatie kan naar veel verschillende stream‑typen worden geschreven. In het onderstaande voorbeeld maken we een nieuwe presentatie en slaan we deze op naar een bestands‑stream.

// Instantieer de Presentation-klasse die een presentatiebestand vertegenwoordigt.
let presentation = new aspose.slides.Presentation();
try {
    let fileStream = java.newInstanceSync("java.io.FileOutputStream", "Output.pptx");
    try {
        // Sla de presentatie op naar de stream.
        presentation.save(fileStream, aspose.slides.SaveFormat.Pptx);
    } finally {
        fileStream.close();
    }
} finally {
    presentation.dispose();
}

Presentaties opslaan met een vooraf gedefinieerd weergavetype

Aspose.Slides laat je het begingebied instellen dat PowerPoint gebruikt wanneer de gegenereerde presentatie wordt geopend via de ViewProperties klasse. Gebruik de setLastView‑methode met een waarde uit de ViewType enumeratie.

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

Presentaties opslaan in het Strict Office Open XML‑formaat

Aspose.Slides laat je een presentatie opslaan in het Strict Office Open XML‑formaat. Gebruik de PptxOptions klasse en stel de conformance‑eigenschap in bij het opslaan. Als je Conformance.Iso29500_2008_Strict instelt, wordt het uitvoerbestand opgeslagen in het Strict Office Open XML‑formaat.

Het voorbeeld hieronder maakt een presentatie en slaat deze op in het Strict Office Open XML‑formaat.

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

// Instantieer de Presentation-klasse die een presentatiebestand vertegenwoordigt.
let presentation = new aspose.slides.Presentation();
try {
    // Sla de presentatie op in het Strict Office Open XML-formaat.
    presentation.save("StrictOfficeOpenXml.pptx", aspose.slides.SaveFormat.Pptx, options);
} finally {
    presentation.dispose();
}

Presentaties opslaan in Office Open XML‑formaat in Zip64‑modus

Een Office Open XML‑bestand is een ZIP‑archief dat een limiet van 4 GB (2^32 bytes) oplegt aan de ongecomprimeerde grootte van elk bestand, de gecomprimeerde grootte van elk bestand en de totale grootte van het archief, en daarnaast een limiet van 65 535 (2^16‑1) bestanden. Zip64‑formatextensies verhogen deze limieten tot 2^64.

De PptxOptions.setZip64Mode‑methode laat je kiezen wanneer Zip64‑formatextensies moeten worden gebruikt bij het opslaan van een Office Open XML‑bestand.

Deze methode kan met de volgende modi worden gebruikt:

  • IfNecessary gebruikt Zip64‑formatextensies alleen als de presentatie de bovenstaande beperkingen overschrijdt. Dit is de standaardmodus.
  • Never gebruikt nooit Zip64‑formatextensies.
  • Always gebruikt altijd Zip64‑formatextensies.

De volgende code toont hoe je een presentatie opslaat als PPTX met Zip64‑formatextensies ingeschakeld:

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

Presentaties opslaan zonder het miniatuurbeeld te vernieuwen

De PptxOptions.setRefreshThumbnail‑methode bepaalt of een miniatuurbeeld wordt gegenereerd bij het opslaan van een presentatie naar PPTX:

  • Als true, wordt het miniatuurbeeld tijdens het opslaan vernieuwd. Dit is de standaardwaarde.
  • Als false, blijft het huidige miniatuurbeeld behouden. Als de presentatie geen miniatuurbeeld heeft, wordt er geen gegenereerd.

In de code hieronder wordt de presentatie opgeslagen naar PPTX zonder het miniatuurbeeld te vernieuwen.

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

Opslagvoortgang bijwerken in procenten

De voortgangsrapportage bij opslaan wordt geconfigureerd via de setProgressCallback‑methode op SaveOptions en diens subklassen. Geef een Java‑proxy op die de IProgressCallback interface implementeert; tijdens het exporteren ontvangt de callback periodieke procentuele updates.

De volgende code‑fragmenten laten zien hoe je IProgressCallback gebruikt.

const ExportProgressHandler = java.newProxy("com.aspose.slides.IProgressCallback", {
    reporting: function(progressValue) {
        // Gebruik hier de voortgangspercentagewaarde.
        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();
}

Veelgestelde vragen

Wordt “fast save” (incremental save) ondersteund zodat alleen wijzigingen worden weggeschreven?

Nee. Opslaan maakt elke keer het volledige doelbestand aan; incrementeel “fast save” wordt niet ondersteund.

Is het thread‑safe om dezelfde Presentation‑instantie vanuit meerdere threads op te slaan?

Nee. Een Presentation instantie is niet thread‑safe; sla deze op vanuit één thread.

Wat gebeurt er met hyperlinks en extern gelinkte bestanden bij het opslaan?

Hyperlinks blijven behouden. Extern gelinkte bestanden (bijv. video’s via relatieve paden) worden niet automatisch gekopieerd — zorg ervoor dat de gerefereerde paden toegankelijk blijven.

Kan ik document‑metadata (Auteur, Titel, Bedrijf, Datum) instellen/opslaan?

Ja. Standaard documenteigenschappen worden ondersteund en bij het opslaan in het bestand geschreven.