Prezentációk mentése Java-ban

Áttekintés

Bemutatók megnyitása Java-ban leírja, hogyan kell használni a Presentation osztályt egy bemutató megnyitásához. Ez a cikk bemutatja, hogyan hozhatunk létre és menthetünk bemutatókat. A Presentation osztály tartalmazza a bemutató tartalmát. Akár az elejétől hoz létre egy bemutatót, akár egy meglévőt módosít, a végén menteni szeretné. Az Aspose.Slides for Java segítségével fájlba vagy folyamba menthet. Ez a cikk bemutatja a bemutató mentésének különböző módjait.

Bemutatók mentése fájlokba

Mentse a bemutatót egy fájlba a Presentation osztály save metódusának meghívásával. A metódusnak adja meg a fájl nevét és a mentési formátumot. Az alábbi példa bemutatja, hogyan menthet egy bemutatót az Aspose.Slides használatával.

// Hozza létre a Presentation osztályt, amely egy bemutató fájlt képvisel.
Presentation presentation = new Presentation();
try {
    // Végezzen itt némi munkát...

    // Mentse a bemutatót egy fájlba.
    presentation.save("Output.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Bemutatók mentése folyamokba

Menthet egy bemutatót folyamba azzal, hogy egy kimeneti folyamatot ad át a Presentation osztály save metódusának. A bemutató többféle folyamat típusba is írható. Az alábbi példában egy új bemutatót hozunk létre, és egy fájlfolyamra mentjük.

// Hozza létre a Presentation osztályt, amely egy bemutató fájlt képvisel.
Presentation presentation = new Presentation();
try {
    OutputStream fileStream = new FileOutputStream("Output.pptx");
    try {
        // Mentse a bemutatót a folyamba.
        presentation.save(fileStream, SaveFormat.Pptx);
    } finally {
        fileStream.close();
    }
} finally {
    presentation.dispose();
}

Bemutatók mentése előre meghatározott nézet típussal

Az Aspose.Slides lehetővé teszi, hogy beállítsa a kezdeti nézetet, amelyet a PowerPoint a generált bemutató megnyitásakor használ a ViewProperties osztályon keresztül. Használja a setLastView metódust a ViewType felsorolás egy értékével.

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

Bemutatók mentése szigorú Office Open XML formátumban

Az Aspose.Slides lehetővé teszi, hogy egy bemutatót a szigorú Office Open XML formátumban mentse. Használja a PptxOptions osztályt, és mentéskor állítsa be a megfelelőség (conformance) tulajdonságát. Ha a Conformance.Iso29500_2008_Strict értéket állítja be, a kimeneti fájl a szigorú Office Open XML formátumban lesz mentve.

Az alábbi példa egy bemutatót hoz létre, és a szigorú Office Open XML formátumban menti.

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

// Hozza létre a Presentation osztályt, amely egy bemutató fájlt képvisel.
Presentation presentation = new Presentation();
try {
    // Mentse a bemutatót a szigorú Office Open XML formátumban.
    presentation.save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options);
} finally {
    presentation.dispose();
}

Bemutatók mentése Office Open XML formátumban Zip64 módban

Az Office Open XML fájl egy ZIP archívum, amely 4 GB (2^32 bájt) korlátot szab minden fájl tömörítetlen méretére, a tömörített méretére, valamint az archívum teljes méretére, és legfeljebb 65 535 (2^16‑1) fájl tárolására. A ZIP64 formátum kiegészítések ezeket a korlátokat 2^64-re emelik.

Az IPptxOptions.setZip64Mode metódus lehetővé teszi, hogy meghatározza, mikor használjon ZIP64 formátum kiegészítéseket Office Open XML fájl mentésekor.

Ez a metódus a következő módokkal használható:

  • IfNecessary csak akkor használja a ZIP64 formátum kiegészítéseket, ha a bemutató meghaladja a fenti korlátokat. Ez az alapértelmezett mód.
  • Never soha nem használja a ZIP64 formátum kiegészítéseket.
  • Always mindig használja a ZIP64 formátum kiegészítéseket.

Az alábbi kód bemutatja, hogyan menthet egy bemutatót PPTX formátumban a ZIP64 formátum kiegészítésekkel engedélyezve:

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

Bemutatók mentése a miniatűr frissítése nélkül

Az PptxOptions.setRefreshThumbnail metódus szabályozza a miniatűr generálását, amikor a bemutatót PPTX formátumba menti:

  • Ha true értékre van állítva, a mentés során a miniatűr frissül. Ez az alapértelmezett.
  • Ha false értékre van állítva, a jelenlegi miniatűr megmarad. Ha a bemutató nem rendelkezik miniatűrrel, nem kerül generálásra.

Az alábbi kódban a bemutató PPTX formátumba van mentve a miniatűr frissítése nélkül.

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

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

Mentési folyamat frissítései százalékban

Az IProgressCallback interfészt a ISaveOptions interfész által kitettségű setProgressCallback metódussal, valamint az absztrakt SaveOptions osztállyal használják. Egy IProgressCallback megvalósítást adjon át a setProgressCallback‑nak, hogy a mentési előrehaladást százalékban kapja meg.

Az alábbi kódrészletek bemutatják, hogyan használja az 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) {
        // Használja itt a haladási százalékos értéket.
        int progress = (int) progressValue;

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

GYIK

Támogatott a “gyors mentés” (inkrementális mentés), amely csak a változásokat írja?

Nem. A mentés minden alkalommal a teljes célfájlt hozza létre; az inkrementális „gyors mentés” nem támogatott.

Biztonságos-e több szálról menteni ugyanazt a Presentation példányt?

Nem. A Presentation példány nem szálbiztonságos; egy szálból kell menteni.

Mi történik a Hyperlinks és a külsőleg linkelt fájlokkal mentéskor?

A Hyperlinks megmaradnak. A külsőleg linkelt fájlok (például relatív útvonalú videók) nem másolódnak automatikusan – biztosítani kell, hogy a hivatkozott útvonalak továbbra is elérhetők legyenek.

Beállíthatom/menthetem a dokumentum metaadatokat (Szerző, Cím, Cég, Dátum)?

Igen. A szabványos document properties támogatott és a mentéskor a fájlba íródnak.