Ukládání prezentací na Androidu

Přehled

Open Presentations on Android popisuje, jak použít třídu Presentation k otevření prezentace. Tento článek vysvětluje, jak vytvořit a uložit prezentace. Třída Presentation obsahuje obsah prezentace. Ať už vytváříte prezentaci od nuly nebo upravujete existující, budete ji chtít po dokončení uložit. S Aspose.Slides pro Android můžete uložit do souboru nebo proudu. Tento článek popisuje různé způsoby uložení prezentace.

Uložit prezentace do souborů

Uložit prezentaci do souboru zavoláním metody save třídy Presentation. Do metody předáte název souboru a formát uložení. Následující příklad ukazuje, jak uložit prezentaci pomocí Aspose.Slides.

// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
    // Proveďte zde nějakou práci...
    
    // Uložte prezentaci do souboru.
    presentation.save("Output.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Uložit prezentace do proudů

Můžete uložit prezentaci do proudu předáním výstupního proudu metodě save třídy Presentation. Prezentaci lze zapsat do různých typů proudů. V níže uvedeném příkladu vytvoříme novou prezentaci a uložíme ji do souborového proudu.

// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
    OutputStream fileStream = new FileOutputStream("Output.pptx");
    try {
        // Uložte prezentaci do proudu.
        presentation.save(fileStream, SaveFormat.Pptx);
    } finally {
        fileStream.close();
    }
} finally {
    presentation.dispose();
}

Uložit prezentace 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, prostřednictvím třídy ViewProperties. Použijte metodu setLastView s hodnotou z výčtu ViewType.

Presentation presentation = new Presentation();
try {
    presentation.getViewProperties().setLastView(ViewType.SlideMasterView);
    presentation.save("SlideMasterView.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Uložit prezentace 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 při ukládání nastavte její vlastnost conformance. Pokud nastavíte Conformance.Iso29500_2008_Strict, výstupní soubor bude 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.

PptxOptions options = new PptxOptions();
options.setConformance(Conformance.Iso29500_2008_Strict);

// Vytvořte instanci třídy Presentation, která představuje soubor prezentace.
Presentation presentation = new Presentation();
try {
    // Uložte prezentaci ve formátu Strict Office Open XML.
    presentation.save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options);
} finally {
    presentation.dispose();
}

Uložit prezentace ve formátu Office Open XML v režimu Zip64

Soubor Office Open XML je archiv ZIP, který omezuje nekomprimovanou velikost libovolného souboru, komprimovanou velikost libovolného souboru i celkovou velikost archivu na 4 GB (2^32 bajtů) a také omezuje archiv na 65 535 (2^16‑1) souborů. Rozšíření formátu ZIP64 tato omezení zvyšují na 2^64.

Metoda IPptxOptions.setZip64Mode vám umožňuje zvolit, kdy použít rozšíření ZIP64 při ukládání souboru Office Open XML.

Tuto metodu lze použít s následujícími režimy:

  • IfNecessary používá rozšíření ZIP64 pouze pokud prezentace překročí výše uvedená omezení. Toto je výchozí režim.
  • Never nikdy nepoužívá rozšíření ZIP64.
  • Always vždy používá rozšíření ZIP64.

Níže uvedený kód ukazuje, jak uložit prezentaci jako PPTX s povolenými rozšířeními formátu ZIP64:

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();
}

Uložit prezentace bez aktualizace náhledu

Metoda PptxOptions.setRefreshThumbnail řídí generování náhledu při ukládání prezentace do PPTX:

  • Pokud je nastavena na true, náhled je při ukládání obnoven. Toto je výchozí nastavení.
  • Pokud je nastavena na false, aktuální náhled je zachován. Pokud prezentace nemá náhled, žádný není vytvořen.

V níže uvedeném kódu je prezentace uložena do PPTX bez obnovení náhledu.

PptxOptions pptxOptions = new PptxOptions();
pptxOptions.setRefreshThumbnail(false);

Presentation presentation = new Presentation("Sample.pptx");
try {
    presentation.save("Output.pptx", SaveFormat.Pptx, pptxOptions);
}
finally {
    presentation.dispose();
}

Ukládat průběžné aktualizace v procentech

Rozhraní IProgressCallback se používá prostřednictvím metody setProgressCallback vystavené rozhraním ISaveOptions a abstraktní třídy SaveOptions. Přiřaďte implementaci IProgressCallback pomocí setProgressCallback, abyste dostávali aktualizace postupu ukládání v procentech.

Níže uvedené úryvky kódu ukazují, jak používat IProgressCallback.

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) {
        // Použijte zde hodnotu procenta postupu.
        int progress = (int) progressValue;

        System.out.println(progress + "% of the file has been converted.");
    }
}

Často kladené otázky

Je podporováno „rychlé ukládání“ (inkrementální ukládání), takže se zapisují jen změny?

Ne. Ukládání při každém zápisu vytvoří celý cílový soubor; inkrementální „rychlé ukládání“ není podporováno.

Je bezpečné z hlediska vláken 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ě odkazovanými soubory při ukládání?

Hyperlinks jsou zachovány. Externě odkazované soubory (např. videa pomocí relativních cest) nejsou automaticky zkopírovány – zajistěte, aby referencované cesty zůstaly dostupné.

Mohu nastavit/uložit metadata dokumentu (Autor, Název, Společnost, Datum)?

Ano. Standardní document properties jsou podporovány a při ukládání budou zapsány do souboru.