Prezentációk mentése .NET-ben

Áttekintés

Prezentációk megnyitása C#-ban leírja, hogyan kell használni a Presentation osztályt egy prezentáció megnyitásához. Ez a cikk elmagyarázza, hogyan hozhatunk létre és menthetünk prezentációkat. A Presentation osztály tartalmazza a prezentáció tartalmát. Akár egy prezentációt hoz létre a semmiből, akár egy meglévőt módosít, a befejezés után menteni szeretné. Az Aspose.Slides for .NET segítségével fájlba vagy folyamba menthet. Ez a cikk bemutatja a különböző módokat egy prezentáció mentésére.

Prezentációk mentése fájlokba

Mentse a prezentációt egy fájlba a Presentation osztály Save metódusának meghívásával. Adja át a metódusnak a fájlnevet és a mentési formátumot. A következő példa megmutatja, hogyan menthet egy prezentációt az Aspose.Slides segítségével.

// A Presentation osztály példányosítása, amely egy prezentációfájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Végezzen itt némi munkát...

    // Mentse a prezentációt egy fájlba.
    presentation.Save("Output.pptx", SaveFormat.Pptx);
}

Prezentációk mentése folyamokba

Prezentációt menthet folyamba úgy, hogy egy kimeneti streamet ad át a Presentation osztály Save metódusának. A prezentáció számos stream típusba írható. Az alábbi példában új prezentációt hozunk létre, és fájlfolyamba mentjük.

// A Presentation osztály példányosítása, amely egy prezentációfájlt képvisel.
using (Presentation presentation = new Presentation())
{
    using (FileStream fileStream = new FileStream("Output.pptx", FileMode.Create))
    {
        // Mentse a prezentációt a streambe.
        presentation.Save(fileStream, SaveFormat.Pptx);
    }
}

Prezentációk mentése előre meghatározott nézettípussal

Az Aspose.Slides lehetővé teszi, hogy beállítsa a kezdeti nézetet, amelyet a PowerPoint használ a generált prezentáció megnyitásakor a ViewProperties osztályon keresztül. Állítsa be a LastView tulajdonságot a ViewType felsorolás egy értékére.

using (Presentation presentation = new Presentation())
{
    presentation.ViewProperties.LastView = ViewType.SlideMasterView;
    presentation.Save("SlideMasterView.pptx", SaveFormat.Pptx);
}

Prezentációk mentése a szigorú Office Open XML formátumban

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

Az alábbi példa létrehoz egy prezentációt, és a szigorú Office Open XML formátumban menti.

PptxOptions options = new PptxOptions()
{
    Conformance = Conformance.Iso29500_2008_Strict
};

// A Presentation osztály példányosítása, amely egy prezentációfájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Mentse a prezentációt a szigorú Office Open XML formátumban.
    presentation.Save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options);
}

Prezentáció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 a bármely fájl kitömörített méretére, a tömörített méretére és az archívum teljes méretére, valamint legfeljebb 65 535 (2^16‑1) fájlt engedélyez. A ZIP64 formátumkiterjesztések ezeket a korlátokat 2^64‑re emelik.

IPptxOptions.Zip64Mode tulajdonság lehetővé teszi, hogy kiválassza, mikor használja a ZIP64 formátumkiterjesztéseket Office Open XML fájl mentésekor.

Ez a tulajdonság a következő módokat biztosítja:

  • IfNecessary csak akkor használja a ZIP64 formátumkiterjesztéseket, ha a prezentáció meghaladja a fenti korlátokat. Ez az alapértelmezett mód.
  • Never soha nem használ ZIP64 formátumkiterjesztéseket.
  • Always mindig használ ZIP64 formátumkiterjesztéseket.

A következő kód bemutatja, hogyan menthet egy prezentációt PPTX fájlként a ZIP64 formátumkiterjesztések engedélyezésével:

using (Presentation presentation = new Presentation("Sample.pptx"))
{
    presentation.Save("OutputZip64.pptx", SaveFormat.Pptx, new PptxOptions()
    {
        Zip64Mode = Zip64Mode.Always
    });
}

Prezentációk mentése Office Open XML formátumban tömörítési szintekkel

Nagy prezentációk esetén beállíthatja a tömörítési szintet a fájlméret és a feldolgozási idő egyensúlyozásához. Az igényeitől függően lehet, hogy a gyorsabb feldolgozást vagy a kisebb kimeneti fájlokat részesíti előnyben.

Az Aspose.Slides biztosítja az IPptxOptions.CompressionLevel tulajdonságot, amely lehetővé teszi a Office Open XML formátumban történő mentéskor használandó tömörítési szint megadását.

A következő tömörítési szintek érhetők el:

  • None: Nem alkalmaz tömörítést. A fájlok változatlanul tárolódnak.
  • Level1: A leggyorsabb tömörítés a legalacsonyabb tömörítési aránnyal.
  • Level2: Gyorsabb tömörítés, amely valamivel jobb tömörítési arányt biztosít, mint a Level1.
  • Level3: Jobb tömörítést nyújt, mint a Level2, mérsékelt hatással a feldolgozási időre.
  • Level4: Jobb tömörítést biztosít, mint a Level3.
  • Level5: Javított tömörítést nyújt a Level4-hez képest, többlet feldolgozási idővel.
  • Level6: Standard tömörítés, amely jó egyensúlyt nyújt a feldolgozási sebesség és a fájlméret között. Ez a alapértelmezett tömörítési szint.
  • Level7: Jobb tömörítést biztosít, mint a Level6, de lassabb feldolgozással.
  • Level8: Jobb tömörítést nyújt, mint a Level7.
  • Level9: Maximális tömörítés. A legkisebb fájlméretet eredményezi, de a leghosszabb feldolgozási idő árán.

A következő példa bemutatja, hogyan menthet egy prezentációt PPTX fájlként tömörítés nélkül:

using (Presentation pres = new Presentation("Sample.pptx"))
{
    pres.Save("Sample-out.pptx", SaveFormat.Pptx, new PptxOptions
    {
        CompressionLevel = CompressionLevel.None
    });
}

Ez a példa megmutatja, hogyan menthet egy prezentációt PPTX fájlként maximális tömörítéssel:

using (Presentation pres = new Presentation("Sample.pptx"))
{
    pres.Save("Sample-level9.pptx", SaveFormat.Pptx, new PptxOptions
    {
        CompressionLevel = CompressionLevel.Level9
    });
}

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

PptxOptions.RefreshThumbnail tulajdonság irányítja a miniatűr generálását, amikor egy prezentációt PPTX-be ment.

  • Ha true értékre van állítva, a miniatűr mentés közben frissül. Ez az alapértelmezett.
  • Ha false értékre van állítva, az aktuális miniatűr megmarad. Ha a prezentációnak nincs miniatűre, akkor nem generálódik.

Az alábbi kódban a prezentáció frissítés nélküli miniatűrrel kerül mentésre PPTX-be.

using (Presentation presentation = new Presentation("Sample.pptx"))
{
    presentation.Save("Output.pptx", SaveFormat.Pptx, new PptxOptions()
    {
        RefreshThumbnail = false
    });
}

Mentési előrehaladás frissítései százalékban

Az IProgressCallback interfészt a ISaveOptions interfész és az absztrakt SaveOptions osztály által biztosított ProgressCallback tulajdonságon keresztül használják. Rendeljen egy IProgressCallback megvalósítást a ProgressCallback-hez, hogy a mentési előrehaladás frissítéseit százalékban kapja meg.

A következő kódrészletek bemutatják, hogyan kell használni az IProgressCallback-et.

ISaveOptions saveOptions = new PdfOptions();
saveOptions.ProgressCallback = new ExportProgressHandler();

using (Presentation presentation = new Presentation("Sample.pptx"))
{
    presentation.Save("Output.pdf", SaveFormat.Pdf, saveOptions);
}
class ExportProgressHandler : IProgressCallback
{
    public void Reporting(double progressValue)
    {
        // Használja itt a haladás százalékos értékét.
        int progress = Convert.ToInt32(progressValue);

        Console.WriteLine(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.

Vagy szálbiztonságos ugyanazt a Presentation példányt több szálról menteni?

Nem. A Presentation példány nem szálbiztonságos; csak egy szálról mentse.

Mi történik a hivatkozásokkal és a külsőleg hivatkozott fájlokkal mentéskor?

Hyperlinks megmaradnak. A külső hivatkozott fájlok (pl. relatív útvonalú videók) nem másolódnak automatikusan – gondoskodjon arról, hogy a hivatkozott útvonalak hozzáférhetőek maradjanak.

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

Igen. A szabványos document properties támogatott, és mentéskor a fájlba kerülnek.