Jak uložit prezentaci v Javě
Aspose.Slides FOSS pro Java ukládá prezentace výhradně do formátu .pptx pomocí ⌒prs.save(path, SaveFormat.PPTX)` . Tato příručka pokrývá správný vzor ukladaní, ukládaní na jinou cestu a běžné chyby související s uklazením.
Krok za krokem
Vypadá to jako…
Krok 1: Přidejte Mavenova závislost
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>26.7.0</version>
</dependency>Krok 2: Otevřít nebo vytvořit prezentaci
Vždy použijte try-with resources. Save call musí probíhat uvnitř try blocu.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
// Create new
try (Presentation prs = new Presentation()) {
prs.save("new.pptx", SaveFormat.PPTX);
}
// Open existing
try (Presentation prs = new Presentation("input.pptx")) {
prs.save("output.pptx", SaveFormat.PPTX);
}Krok 3: Uložení po všech úpravách
Po dokončení všech úprav umístěte jako poslední výrok do bloku try volání save().
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 300, 100
);
shape.addTextFrame("Hello, World!");
prs.save("output.pptx", SaveFormat.PPTX);
}Krok 4: Uložit jinou cestu
Pro vytvoření nového souboru bez úpravy originálu přejděte jinou výstupní cestu:
try (Presentation prs = new Presentation("template.pptx")) {
// modify ...
prs.save("customized.pptx", SaveFormat.PPTX);
}Soubor template.pptx není upraven; je vytvořen (nebo přepsán, pokud již existuje).
Krok 5: Ověřte výsledek
Po ukončení try bloku je soubor kompletní a uzavřený. Zkontrolujte, zda existuje:
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
Path output = Paths.get("output.pptx");
System.out.println("Saved: " + Files.exists(output)
+ ", size: " + Files.size(output) + " bytes");Podporovaný formát uložení
| Format | Enum Value | Supported |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.PPTX | Yes |
| N/A | No | |
| HTML | N/A | No |
| SVG | N/A | No |
| PNG / JPEG | N/A | No |
| ODP (OpenDocument) | N/A | No |
Pouze PPTX je plně podporován. Přenášení jakékoli jiné hodnoty SaveFormat na ̋prs.save(path, format) ∂ tichě ukládá jako PP T žádná výjimka není vržena a argument formátu se ignoruje. ̨NedoporučujeOperationException∂ je pouze vržen opcemi ゚prS. save ((ISaveOptions options) ¬ , ne přetíženími založenými na formatu .
Obvyklé problémy a řešení
`java.io.IOVýjimka: povolení zamítnuto
Výstupní soubor je otevřen v jiné aplikaci (např. PowerPoint má soubory otevřené). Před uložením uzavřete souboru v jiných aplikacích.
Soubor byl vytvořen, ale je prázdný nebo poškozený .
Zajištění, že je prs.save() volán uvnitř bloku try a ne po něm. Po ukončení bloku Try-with-resources se objekt Presentation` odstraní a následné hovory selžou.
`Nedoporučená operace Výjimka při ukládání
Toto se děje, když při použití opcí `prs.save(ISaveOptions) ̋ není realizována přetížení založená na funkci ∂ISAVEOption̅. Poznámka: předání non-PPTX ̨SaveFormat̅ do ゚prss. save(path, format̅ nehodí tuto výjimku; tiše je uloženo jako PPTx.
Časté otázky
Můžu si uložit ten samý soubor, co jsem otevřel?
Uložení na stejnou cestu přepíše původní soubor:
try (Presentation prs = new Presentation("deck.pptx")) {
// modify ...
prs.save("deck.pptx", SaveFormat.PPTX); // overwrites original
}Můžu ušetřit na OutputStream?
Ano. Metodou save() je přijat ̋OutputStream∂:
import java.io.FileOutputStream;
try (Presentation prs = new Presentation();
FileOutputStream fos = new FileOutputStream("output.pptx")) {
prs.save(fos, SaveFormat.PPTX);
}Zachovává uložení obsah, který jsem nezměnil?
Ano. Neznámé části XML z originálního souboru jsou doslova uchovávány. Knihovna sériově sestavuje pouze ty části dokumentu, které chápe a prochází všemi částmi XML, která nepozná.
Viz také:
- Jak vytvořit prezentace v Javě
- Jak načítat prezentace v Javě
- Přehled funkcí
- Odkaz na API