Salva presentazioni in JavaScript
Panoramica
Open Presentations in JavaScript descrive come utilizzare la classe Presentation per aprire una presentazione. Questo articolo spiega come creare e salvare presentazioni. La classe Presentation contiene il contenuto di una presentazione. Che tu stia creando una presentazione da zero o modificando una esistente, dovrai salvarla al termine. Con Aspose.Slides per Node.js, puoi salvare in un file o stream. Questo articolo descrive i diversi modi per salvare una presentazione.
Salva presentazioni su file
Salva una presentazione su un file chiamando il metodo save della classe Presentation. Passa il nome del file e il formato di salvataggio al metodo. L’esempio seguente mostra come salvare una presentazione con Aspose.Slides.
// Istanzia la classe Presentation che rappresenta un file di presentazione.
let presentation = new aspose.slides.Presentation();
try {
// Esegui qualche operazione qui...
// Salva la presentazione in un file.
presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Salva presentazioni su stream
Puoi salvare una presentazione su uno stream passando uno stream di output al metodo save della classe Presentation. Una presentazione può essere scritta in molti tipi di stream. Nell’esempio seguente, creiamo una nuova presentazione e la salviamo su un file stream.
// Istanzia la classe Presentation che rappresenta un file di presentazione.
let presentation = new aspose.slides.Presentation();
try {
let fileStream = java.newInstanceSync("java.io.FileOutputStream", "Output.pptx");
try {
// Salva la presentazione nello stream.
presentation.save(fileStream, aspose.slides.SaveFormat.Pptx);
} finally {
fileStream.close();
}
} finally {
presentation.dispose();
}
Salva presentazioni con un tipo di visualizzazione predefinito
Aspose.Slides ti consente di impostare la visualizzazione iniziale che PowerPoint utilizza quando la presentazione generata viene aperta tramite la classe ViewProperties. Usa il metodo setLastView con un valore dell’enumerazione 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();
}
Salva presentazioni nel formato Strict Office Open XML
Aspose.Slides ti permette di salvare una presentazione nel formato Strict Office Open XML. Usa la classe PptxOptions e imposta la sua proprietà conformance al salvataggio. Se imposti Conformance.Iso29500_2008_Strict, il file di output viene salvato nel formato Strict Office Open XML.
L’esempio seguente crea una presentazione e la salva nel formato Strict Office Open XML.
let options = new aspose.slides.PptxOptions();
options.setConformance(aspose.slides.Conformance.Iso29500_2008_Strict);
// Istanzia la classe Presentation che rappresenta un file di presentazione.
let presentation = new aspose.slides.Presentation();
try {
// Salva la presentazione nel formato Strict Office Open XML.
presentation.save("StrictOfficeOpenXml.pptx", aspose.slides.SaveFormat.Pptx, options);
} finally {
presentation.dispose();
}
Salva presentazioni in Office Open XML Format in modalità Zip64
Un file Office Open XML è un archivio ZIP che impone limiti di 4 GB (2^32 byte) sulla dimensione non compressa di qualsiasi file, sulla dimensione compressa di qualsiasi file e sulla dimensione totale dell’archivio, e limita inoltre l’archivio a 65 535 (2^16‑1) file. Le estensioni del formato ZIP64 elevano questi limiti a 2^64.
Il metodo PptxOptions.setZip64Mode ti consente di scegliere quando utilizzare le estensioni del formato ZIP64 durante il salvataggio di un file Office Open XML.
Questo metodo può essere usato con le seguenti modalità:
- IfNecessary utilizza le estensioni ZIP64 solo se la presentazione supera le limitazioni sopra riportate. È la modalità predefinita.
- Never non utilizza mai le estensioni ZIP64.
- Always utilizza sempre le estensioni ZIP64.
Il codice seguente dimostra come salvare una presentazione come PPTX con le estensioni ZIP64 abilitate:
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
Quando salvi usando Zip64Mode.Never, viene sollevata una PptxException se la presentazione non può essere salvata nel formato ZIP32.Salva presentazioni senza aggiornare la miniatura
Il metodo PptxOptions.setRefreshThumbnail controlla la generazione della miniatura quando una presentazione viene salvata in PPTX:
- Se impostato a
true, la miniatura viene aggiornata durante il salvataggio. È il valore predefinito. - Se impostato a
false, la miniatura corrente viene conservata. Se la presentazione non ha una miniatura, non ne viene generata alcuna.
Nel codice seguente, la presentazione è salvata in PPTX senza aggiornare la sua miniatura.
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
Questa opzione aiuta a ridurre il tempo necessario per salvare una presentazione nel formato PPTX.Aggiornamenti di avanzamento del salvataggio in percentuale
La segnalazione dell’avanzamento del salvataggio è configurata tramite il metodo setProgressCallback su SaveOptions e le sue classi derivate. Fornisci un proxy Java che implementi l’interfaccia IProgressCallback; durante l’esportazione, il callback riceve aggiornamenti periodici in percentuale.
Gli snippet di codice seguenti mostrano come utilizzare IProgressCallback.
const ExportProgressHandler = java.newProxy("com.aspose.slides.IProgressCallback", {
reporting: function(progressValue) {
// Usa qui il valore percentuale di avanzamento.
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 ha sviluppato un’app gratuita PowerPoint Splitter (https://products.aspose.app/slides/it/splitter) che utilizza la propria API. L’app consente di dividere una presentazione in più file salvando le diapositive selezionate come nuovi file PPTX o PPT.FAQ
È supportato il “salvataggio veloce” (salvataggio incrementale) in modo che vengano scritte solo le modifiche?
No. Il salvataggio crea il file di destinazione completo ogni volta; il “salvataggio veloce” incrementale non è supportato.
È thread‑safe salvare la stessa istanza di Presentation da più thread?
No. Un’istanza di Presentation non è thread‑safe; salvala da un singolo thread.
Cosa succede a collegamenti ipertestuali e file collegati esternamente durante il salvataggio?
I collegamenti ipertestuali vengono preservati. I file collegati esternamente (ad es. video tramite percorsi relativi) non vengono copiati automaticamente: assicurati che i percorsi di riferimento rimangano accessibili.
Posso impostare/salvare i metadati del documento (Autore, Titolo, Azienda, Data)?
Sì. Le proprietà del documento standard sono supportate e verranno scritte nel file al salvataggio.