Jak uložit prezentaci v Javě

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");
Vypadá to jako...

Podporovaný formát uložení

FormatEnum ValueSupported
PPTX (Office Open XML)SaveFormat.PPTXYes
PDFN/ANo
HTMLN/ANo
SVGN/ANo
PNG / JPEGN/ANo
ODP (OpenDocument)N/ANo

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
 Čeština