Ukládání prezentací v JavaScriptu
Přehled
Open Presentations in JavaScript popisuje, jak použít třídu Presentation k otevření prezentace. Tento článek vysvětluje, jak vytvářet a ukládat prezentace. Třída Presentation obsahuje obsah prezentace. Ať už vytváříte prezentaci od nuly nebo upravujete existující, budete ji chtít uložit, když skončíte. S Aspose.Slides pro Node.js můžete uložit do souboru nebo streamu. Tento článek popisuje různé způsoby uložení prezentace.
Ukládání prezentací do souborů
Uložte prezentaci do souboru zavoláním metody save třídy Presentation. Předáte názvu souboru a formátu uložení metodě. Následující příklad ukazuje, jak uložit prezentaci pomocí Aspose.Slides.
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
let presentation = new aspose.slides.Presentation();
try {
// Proveďte zde nějakou práci...
// Uložte prezentaci do souboru.
presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Ukládání prezentací do streamů
Můžete uložit prezentaci do streamu předáním výstupního streamu metodě save třídy Presentation. Prezentaci lze zapsat do mnoha typů streamů. V níže uvedeném příkladu vytvoříme novou prezentaci a uložíme ji do souborového streamu.
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
let presentation = new aspose.slides.Presentation();
try {
let fileStream = java.newInstanceSync("java.io.FileOutputStream", "Output.pptx");
try {
// Uložte prezentaci do streamu.
presentation.save(fileStream, aspose.slides.SaveFormat.Pptx);
} finally {
fileStream.close();
}
} finally {
presentation.dispose();
}
Ukládání prezentací s předdefinovaným typem zobrazení
Aspose.Slides vám umožňuje nastavit počáteční zobrazení, které PowerPoint použije při otevření vygenerované prezentace, pomocí třídy ViewProperties. Použijte metodu setLastView s hodnotou z výčtu 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();
}
Ukládání prezentací ve Formátu Strict Office Open XML
Aspose.Slides vám umožňuje uložit prezentaci ve formátu Strict Office Open XML. Použijte třídu PptxOptions a nastavte její vlastnost conformance při ukládání. Pokud nastavíte Conformance.Iso29500_2008_Strict, výstupní soubor je uložen ve formátu Strict Office Open XML.
Níže uvedený příklad vytvoří prezentaci a uloží ji ve formátu Strict Office Open XML.
let options = new aspose.slides.PptxOptions();
options.setConformance(aspose.slides.Conformance.Iso29500_2008_Strict);
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
let presentation = new aspose.slides.Presentation();
try {
// Uložte prezentaci ve formátu Strict Office Open XML.
presentation.save("StrictOfficeOpenXml.pptx", aspose.slides.SaveFormat.Pptx, options);
} finally {
presentation.dispose();
}
Ukládání prezentací ve formátu Office Open XML v režimu Zip64
Soubor Office Open XML je archiv ZIP, který omezuje nekomprimovanou velikost jakéhokoli souboru, komprimovanou velikost jakéhokoli souboru i celkovou velikost archivu na 4 GB (2^32 bytů) a také omezuje archiv na 65 535 (2^16‑1) souborů. Rozšíření formátu ZIP64 tato omezení zvyšují na 2^64.
Metoda PptxOptions.setZip64Mode vám umožňuje zvolit, kdy použít rozšíření formátu ZIP64 při ukládání souboru Office Open XML.
Tato metoda může být použita s následujícími režimy:
- IfNecessary používá rozšíření formátu ZIP64 pouze v případě, že prezentace překročí výše uvedená omezení. Toto je výchozí režim.
- Never nikdy nepoužije rozšíření formátu ZIP64.
- Always vždy použije rozšíření formátu ZIP64.
Následující kód demonstruje, jak uložit prezentaci jako PPTX s povolenými rozšířeními 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();
}
NOTE
Když ukládáte s Zip64Mode.Never, je vyvolána výjimka PptxException, pokud není možné prezentaci uložit ve formátu ZIP32.Ukládání prezentací bez obnovení miniatury
Metoda PptxOptions.setRefreshThumbnail řídí generování miniatury při ukládání prezentace do PPTX:
- Pokud je nastavena na
true, miniatura je během uložení obnovena. Toto je výchozí hodnota. - Pokud je nastavena na
false, aktuální miniatura je zachována. Pokud prezentace nemá miniaturu, žádná není vytvořena.
V níže uvedeném kódu je prezentace uložena do PPTX bez obnovení její miniatury.
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();
}
Info
Tato volba pomáhá zkrátit dobu potřebnou k uložení prezentace ve formátu PPTX.Ukládání aktualizací postupu v procentech
Zpráva o postupu ukládání je konfigurována pomocí metody setProgressCallback na třídě SaveOptions a jejích podtřídách. Poskytněte Java proxy, která implementuje rozhraní IProgressCallback; během exportu callback přijímá periodické aktualizace v procentech.
Následující úryvky kódu ukazují, jak použít IProgressCallback.
const ExportProgressHandler = java.newProxy("com.aspose.slides.IProgressCallback", {
reporting: function(progressValue) {
// Použijte zde hodnotu procenta postupu.
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();
}
Info
Aspose vyvinulo bezplatnou aplikaci PowerPoint Splitter pomocí svého API. Aplikace vám umožní rozdělit prezentaci do více souborů uložením vybraných snímků jako nové soubory PPTX nebo PPT.FAQ
Je podporováno „rychlé uložení“ (inkrementální ukládání), takže se zapisují jen změny?
Ne. Ukládání vždy vytvoří celý cílový soubor; inkrementální „rychlé uložení“ není podporováno.
Je bezpečné ukládat stejnou instanci Presentation z více vláken?
Ne. Instance Presentation není thread‑safe; ukládejte ji z jednoho vlákna.
Co se stane s hypertextovými odkazy a externě propojenými soubory při ukládání?
Hyperlinky jsou zachovány. Externě propojené soubory (např. videa pomocí relativních cest) se automaticky nekopírují – ujistěte se, že odkazy na cesty zůstávají přístupné.
Mohu nastavit/uložit metadata dokumentu (Autor, Název, Společnost, Datum)?
Ano. Standardní vlastnosti dokumentu jsou podporovány a budou při ukládání zapsány do souboru.