Presentaties opslaan op Android
Overzicht
Open Presentations on Android 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 aanpast, je wilt ze opslaan wanneer je klaar bent. Met Aspose.Slides voor Android 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 naar 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 laat zien hoe je een presentatie opslaat met Aspose.Slides.
// Instantieer de Presentation-klasse die een presentatiebestand vertegenwoordigt.
Presentation presentation = new Presentation();
try {
// Voer hier wat werkzaamheden uit...
// Sla de presentatie op naar een bestand.
presentation.save("Output.pptx", 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 vele soorten streams worden geschreven. In het voorbeeld hieronder maken we een nieuwe presentatie en slaan we die op naar een bestands‑stream.
// Instantieer de Presentation-klasse die een presentatiebestand vertegenwoordigt.
Presentation presentation = new Presentation();
try {
OutputStream fileStream = new FileOutputStream("Output.pptx");
try {
// Sla de presentatie op naar de stream.
presentation.save(fileStream, SaveFormat.Pptx);
} finally {
fileStream.close();
}
} finally {
presentation.dispose();
}
Presentaties opslaan met een vooraf gedefinieerd weergavetype
Aspose.Slides laat je het initiële weergavetype 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.
Presentation presentation = new Presentation();
try {
presentation.getViewProperties().setLastView(ViewType.SlideMasterView);
presentation.save("SlideMasterView.pptx", 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 eigenschap conformance in bij het opslaan. Als je Conformance.Iso29500_2008_Strict zet, wordt het uitvoerbestand opgeslagen in het Strict Office Open XML‑formaat.
Het voorbeeld hieronder maakt een presentatie en slaat die op in het Strict Office Open XML‑formaat.
PptxOptions options = new PptxOptions();
options.setConformance(Conformance.Iso29500_2008_Strict);
// Instantieer de Presentation-klasse die een presentatiebestand vertegenwoordigt.
Presentation presentation = new Presentation();
try {
// Sla de presentatie op in het Strict Office Open XML-formaat.
presentation.save("StrictOfficeOpenXml.pptx", 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 tevens een limiet van 65 535 (2^16‑1) bestanden. ZIP64‑formatextensies verhogen deze limieten tot 2^64.
De IPptxOptions.setZip64Mode‑methode laat je kiezen wanneer ZIP64‑formatextensies te gebruiken 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 bovengenoemde limieten overschrijdt. Dit is de standaardmodus.
- Never gebruikt nooit ZIP64‑formatextensies.
- Always gebruikt altijd ZIP64‑formatextensies.
De volgende code demonstreert hoe je een presentatie opslaat als PPTX met ZIP64‑formatextensies ingeschakeld:
PptxOptions pptxOptions = new PptxOptions();
pptxOptions.setZip64Mode(Zip64Mode.Always);
Presentation presentation = new Presentation("Sample.pptx");
try {
presentation.save("OutputZip64.pptx", SaveFormat.Pptx, pptxOptions);
} finally {
presentation.dispose();
}
NOTE
Wanneer je opslaat met Zip64Mode.Never, wordt er een PptxException gegooid als de presentatie niet kan worden opgeslagen in ZIP32‑formaat.Presentaties opslaan zonder de miniatuur te vernieuwen
De PptxOptions.setRefreshThumbnail‑methode regelt de generatie van miniaturen bij het opslaan van een presentatie naar PPTX:
- Als deze op
truestaat, wordt de miniatuur tijdens het opslaan vernieuwd. Dit is de standaardwaarde. - Als deze op
falsestaat, wordt de huidige miniatuur behouden. Als de presentatie geen miniatuur heeft, wordt er geen gemaakt.
In de onderstaande code wordt de presentatie opgeslagen naar PPTX zonder de miniatuur te vernieuwen.
PptxOptions pptxOptions = new PptxOptions();
pptxOptions.setRefreshThumbnail(false);
Presentation presentation = new Presentation("Sample.pptx");
try {
presentation.save("Output.pptx", SaveFormat.Pptx, pptxOptions);
}
finally {
presentation.dispose();
}
Info
Deze optie helpt de tijd te verkorten die nodig is om een presentatie op te slaan in PPTX‑formaat.Opslaan met voortgangsupdates in procenten
De IProgressCallback‑interface wordt gebruikt via de setProgressCallback‑methode die wordt blootgesteld door de ISaveOptions‑interface en de abstracte SaveOptions‑klasse. Ken een IProgressCallback‑implementatie toe met setProgressCallback om voortgangsupdates van het opslaan als percentage te ontvangen.
De volgende code‑fragmenten laten zien hoe je IProgressCallback gebruikt.
ISaveOptions saveOptions = new PdfOptions();
saveOptions.setProgressCallback(new ExportProgressHandler());
Presentation presentation = new Presentation("Sample.pptx");
try {
presentation.save("Output.pdf", SaveFormat.Pdf, saveOptions);
} finally {
presentation.dispose();
}
class ExportProgressHandler implements IProgressCallback {
public void reporting(double progressValue) {
// Gebruik hier de voortgangspercentage-waarde.
int progress = (int) progressValue;
System.out.println(progress + "% of the file has been converted.");
}
}
Info
Aspose heeft een gratis PowerPoint‑splitter‑app ontwikkeld met behulp van haar eigen API. De app laat je een presentatie in meerdere bestanden opsplitsen door geselecteerde dia’s op te slaan als nieuwe PPTX‑ of PPT‑bestanden.FAQ
Wordt “snelle opslaan” (incrementeel opslaan) ondersteund zodat alleen wijzigingen worden weggeschreven?
Nee. Elke keer wordt het volledige doelbestand aangemaakt; incrementeel “snelle opslaan” 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 (/slides/nl/androidjava/multithreading/); sla deze op vanuit één thread.
Wat gebeurt er met hyperlinks en extern gelinkte bestanden bij het opslaan?
Hyperlinks blijven behouden. Externe gelinkte bestanden (bijv. video’s via relatieve paden) worden niet automatisch gekopieerd – zorg ervoor dat de verwezen paden toegankelijk blijven.
Kan ik documentmetadata (Auteur, Titel, Bedrijf, Datum) instellen/opslaan?
Ja. Standaard documenteigenschappen worden ondersteund en bij het opslaan in het bestand geschreven.