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

Áttekintés

Open Presentations in C# leírja, hogyan kell használni a Presentation osztályt egy prezentáció megnyitásához. Ez a cikk bemutatja, 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 hozunk létre nulláról, akár egy meglévőt módosítunk, a munka befejezésekor menteni kell. Az Aspose.Slides for .NET segítségével fájlba vagy adatfolyamba menthetünk. Ez a cikk a prezentációk mentésének különböző módjait ismerteti.

Prezentációk mentése fájlokba

A prezentációt fájlba menthetjük a Presentation osztály Save metódusának meghívásával. A metódusnak átadjuk a fájl nevét és a mentési formátumot. Az alábbi példa bemutatja, hogyan menthetünk egy prezentációt az Aspose.Slides segítségével.

using Aspose.Slides;
using Aspose.Slides.Export;

// Példányosítja a Presentation osztályt, amely egy prezentációfájlt képvisel.
using (Presentation presentation = new Presentation())
{
    // Itt végezzen némi munkát...

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

Prezentációk mentése adatfolyamokba

Egy prezentációt adatfolyamba menthetünk, ha egy kimeneti adatfolyamot adunk át a Presentation osztály Save metódusának. A prezentáció számos adatfolyam típusba írható. Az alábbi példában egy új prezentációt hozunk létre, és fájl adatfolyamba mentjük.

using Aspose.Slides;
using Aspose.Slides.Export;

// Példányosítja a Presentation osztályt, 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 az adatfolyamra.
        presentation.Save(fileStream, SaveFormat.Pptx);
    }
}

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

Az Aspose.Slides lehetővé teszi az elsődleges nézet beállítását, amelyet a PowerPoint használ, amikor a létrehozott prezentáció megnyílik, a ViewProperties osztályon keresztül. Állítsa be a LastView tulajdonságot a ViewType felsorolás egy értékére.

using Aspose.Slides;
using Aspose.Slides.Export;

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 egy prezentáció mentését a szigorú Office Open XML formátumban. Használja a PptxOptions osztályt, és állítsa be a megfelelőségi (conformance) tulajdonságát a mentéskor. 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 prezentációt hoz létre, és a szigorú Office Open XML formátumban menti el.

using Aspose.Slides;
using Aspose.Slides.Export;

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

// Példányosítja a Presentation osztályt, 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

Egy Office Open XML fájl ZIP archívum, amely 4 GB (2^32 bájt) korlátot szab a kicsomagolt fájlméretre, a tömörített fájlméretre é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.

A IPptxOptions.Zip64Mode tulajdonság lehetővé teszi, hogy megadja, mikor használjon ZIP64 formátumkiterjesztéseket az Office Open XML fájl mentésekor.

Ez a tulajdonság az alábbi 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álja a ZIP64 formátumkiterjesztéseket.
  • Always mindig használja a ZIP64 formátumkiterjesztéseket.

Az alábbi kód bemutatja, hogyan menthetünk egy prezentációt PPTX fájlként, a ZIP64 formátumkiterjesztésekkel engedélyezve:

using Aspose.Slides;
using Aspose.Slides.Export;

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ényektől függően választhat gyorsabb feldolgozást vagy kisebb kimeneti fájlokat.

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

Az elérhető tömörítési szintek:

  • None: Nem alkalmaz tömörítést. A fájlok változatlanul tárolódnak.
  • Level1: A leggyorsabb tömörítés, legalacsonyabb tömörítési arány.
  • Level2: Gyorsabb tömörítés, valamivel jobb tömörítési arány, mint a Level1.
  • Level3: Jobb tömörítés, mint a Level2, közepes hatással a feldolgozási időre.
  • Level4: Jobb tömörítés, mint a Level3.
  • Level5: Javított tömörítés a Level4-hez képest, további feldolgozási idővel.
  • Level6: Standard tömörítés, amely jó egyensúlyt biztosít 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és, mint a Level6, lassabb feldolgozással.
  • Level8: Jobb tömörítés, mint a Level7.
  • Level9: Maximális tömörítés. A legkisebb fájlméretet eredményezi, de a leghosszabb feldolgozási időt igényli.

Az alábbi példa bemutatja, hogyan menthetünk egy prezentációt PPTX fájlként tömörítés nélkül:

using Aspose.Slides;
using Aspose.Slides.Export;

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ünk egy prezentációt PPTX fájlként maximális tömörítéssel:

using Aspose.Slides;
using Aspose.Slides.Export;

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

A PptxOptions.RefreshThumbnail tulajdonság szabályozza a miniatűr generálását PPTX formátumba történő mentéskor:

  • 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 meglévő miniatűr megmarad. Ha a prezentációnak nincs miniatűre, akkor egy sem jön létre.

Az alábbi kódban a prezentációt PPTX‑ként mentjük a miniatűr frissítése nélkül.

using Aspose.Slides;
using Aspose.Slides.Export;

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 ProgressCallback tulajdonsága, valamint az absztrakt SaveOptions osztály biztosítja. Egy IProgressCallback megvalósítást adjon a ProgressCallback-nek, hogy a mentés előrehaladását százalékos formában kapja meg.

Az alábbi kódrészletek mutatják, hogyan kell használni az IProgressCallback-et.

using Aspose.Slides;
using Aspose.Slides.Export;

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

using (Presentation presentation = new Presentation("Sample.pptx"))
{
    presentation.Save("Output.pdf", SaveFormat.Pdf, saveOptions);
}
using Aspose.Slides;

class ExportProgressHandler : IProgressCallback
{
    public void Reporting(double progressValue)
    {
        // Használja itt a folyamat százalékos értékét.
        int progress = Convert.ToInt32(progressValue);

        Console.WriteLine(progress + "% of the file has been converted.");
    }
}

GYIK

Támogatja a „gyors mentést” (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” nincs támogatva.

Szálbiztonságos ugyanannak a Presentation példánynak a mentése több szálból?

Nem. A Presentation példány nem szálbiztos (/slides/hu/net/multithreading/); egyetlen szálról kell menteni.

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

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

Beállíthatók / menthetők dokumentum metaadatai (szerző, cím, cég, dátum)?

Igen. A szabványos document properties támogatott, és a mentéskor be lesznek írva a fájlba.