Alacsony kódú prezentációs műveletek .NET-ben

Áttekintés

Az Aspose.Slides.LowCode névtér statikus segédosztályokat biztosít a gyakori prezentációs műveletekhez. Ezek a segédek a gyakran használt objektummodell munkafolyamatokat fókuszált módszerekbe csomagolják, így kevesebb kóddal konvertálhat vagy egyesíthet fájlokat, feldolgozhat prezentációelemeket, gyűjthet alakzatokat, és eltávolíthatja a nem használt tartalmat.

Az alacsony kódú segédek akkor a leghasznosabbak, ha a művelet egy teljes fájlra vagy prezentációra vonatkozik, és az alapértelmezett munkafolyamat megfelel az igényeinek. Használja a teljes Aspose.Slides objektummodellt amikor finomhangolt irányítást kell gyakorolnia az egyes diák, masterek, elrendezések, alakzatok, exportbeállítások vagy a prezentációelemek közötti kapcsolatok felett.

Az alábbi táblázat összegzi az elérhető segédprogramokat:

Segédfunkció Mire használható
Convert Prezentáció átalakítása egy másik formátumba közvetlen fájl‑fájl hívással.
Merger Az azonos formátumú teljes prezentációs fájlok egyesítése.
ForEach Művelet végrehajtása minden diára, alakzatra, bekezdésre vagy szövegrészre.
Collect Alakzatok lekérése a teljes prezentációból ismételt feldolgozás vagy elemzés céljából.
Compress Nem használt masterek/elrendezések eltávolítása, a beágyazott betűkészlet adatok csökkentése és képek tömörítése.

Prezentáció konvertálása

Használja a Convert.AutoByExtension‑t akkor, amikor a kimeneti fájl kiterjesztése elegendő az exportformátum kiválasztásához. A metódus megnyitja a forrásprezentációt, meghatározza a szükséges formátumot a kimeneti útvonalból, és írja az eredményt.

using Aspose.Slides.LowCode;

Convert.AutoByExtension("input.pptx", "output.pdf");

A Convert osztály további dedikált metódusokat kínál PDF, SVG, JPEG, PNG és TIFF kimenethez. Használja a teljes objektummodellt, ha a prezentációt exportálás előtt vizsgálni vagy módosítani kell, vagy olyan exportbeállítást kell konfigurálni, amelyet a kiválasztott segéd nem kínál. Lásd a Convert Presentation oldalt a formátumspecifikus munkafolyamatokért és beállításokért.

Prezentációk egyesítése

Használja a Merger.Process‑t a teljes prezentációs fájlok egy hívással történő egyesítéséhez. A bemeneti prezentációknak azonos fájlformátummal kell rendelkezniük.

using Aspose.Slides.LowCode;

var inputFiles = new[] { "part-1.pptx", "part-2.pptx" };
Merger.Process(inputFiles, "merged.pptx");

A segéd akkor megfelelő, ha minden diát egy eredménybe szeretne hozzáfűzni anélkül, hogy egyenként kiválasztaná vagy átképezi őket. Használja a teljes objektummodellt, ha kiválasztott diák egyesítésére, célmaster vagy -elrendezés alkalmazására, szekciók kifejezett megtartására, vagy különböző diaméretek összehangolására van szükség. Lásd a Merge Presentations oldalt ezekhez a forgatókönyvekhez.

Prezentációelemek bejárása

A ForEach osztály visszahívást hív meg a kért típusú prezentációelem minden egyes példányára. Elkerüli a beágyazott gyűjteményciklusokat, és kényelmes a teljes prezentáció átfogó ellenőrzéséhez vagy formázási változtatásokhoz.

Az alábbi példa a ForEach.Slide, ForEach.Shape, ForEach.Paragraph, és ForEach.Portion használatával vizsgálja a megfelelő elemeket:

using System;
using Aspose.Slides;
using Aspose.Slides.LowCode;

using var presentation = new Presentation("input.pptx");

ForEach.Slide(presentation, (slide, index) =>
{
    Console.WriteLine($"Slide {index}: {slide.Shapes.Count} shapes");
});

ForEach.Shape(presentation, (shape, slide, index) =>
{
    Console.WriteLine($"Shape {index} on {slide.GetType().Name}: {shape.Name}");
});

ForEach.Paragraph(presentation, (paragraph, slide, index) =>
{
    Console.WriteLine($"Paragraph {index} on {slide.GetType().Name}: {paragraph.Text}");
});

ForEach.Portion(presentation, (portion, paragraph, slide, index) =>
{
    Console.WriteLine($"Portion {index} on {slide.GetType().Name}: {portion.Text}");
});

Alapértelmezés szerint a teljes prezentáció alakzat- és szövegbejárása a normál, master és layout diákat is tartalmazza. Az includeNotes paraméterrel ellátott túlterhelések a jegyzetdiakat is feldolgozhatják. Használjon közvetlen gyűjteményciklusokat, ha a bejárási sorrend, a korai kilépés, a visszahívás előtt történő szűrés vagy a részletes szülő‑gyermek vezérlés fontos.

Alakzatok gyűjtése

Használja a Collect.Shapes‑t, ha az összes alakzat gyűjteményére van szükség a prezentációban, ahelyett, hogy minden alakzat esetén visszahívást használná. Ez akkor hasznos, amikor ugyanazt a halmazt többször szűrni, számolni vagy feldolgozni kell.

using System;
using Aspose.Slides;
using Aspose.Slides.LowCode;

using var presentation = new Presentation("input.pptx");
var shapes = Collect.Shapes(presentation);

foreach (var shape in shapes)
{
    Console.WriteLine($"{shape.Name}: {shape.GetType().Name}");
}

Használja a ForEach.Shape‑t helyette, ha minden alakzatot azonnal kezelhet, és nincs szükség a gyűjtött eredmény megtartására.

Prezentáció tartalmának tömörítése

A Compress osztály képes eltávolítani a nem használt szerkezeti elemeket és csökkenteni a beágyazott betűkészlet adatokat:

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

using var presentation = new Presentation("input.pptx");

Compress.RemoveUnusedLayoutSlides(presentation);
Compress.RemoveUnusedMasterSlides(presentation);
Compress.CompressEmbeddedFonts(presentation);

presentation.Save("compressed.pptx", SaveFormat.Pptx);

Először távolítsa el a nem használt elrendezéseket, majd a nem használt mastereket, hogy a layout tisztítása után hivatkozás nélküli master is eltávolítható legyen. Mentse az optimalizált prezentációt új fájlba, ha később szüksége lehet az eredeti masterekre, elrendezésekre vagy a teljes beágyazott betűkészlet adatokra. További részletekért lásd a Slide Master és a Embedded Font oldalt.

A teljes prezentáció tömörítése

Az Aspose.Slides for .NET 26.11 hozzáadja a Compress.CompressPresentation‑t. Ez kombinálja a nem használt layout/master diák eltávolítását, a beágyazott betűkészletek csak a használt karakterekre való részhalmazát, és a képek 150 DPI‑os tömörítését. Használja a fentiekben leírt egyedi műveleteket, ha pontosan szabályozni szeretné, mely változtatások alkalmazásra kerülnek.

Telepítse az Aspose.Slides for .NET 26.11 vagy későbbi verziót, és adja meg a input.pptx fájlt. Mentse külön fájlba: a eltávolított elrendezések, betűkarakterek és a levágott képpontok későbbi szerkesztéshez szükségesek lehetnek.

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

using var presentation = new Presentation("input.pptx");
Compress.CompressPresentation(presentation);
presentation.Save("compressed.pptx", SaveFormat.Pptx);

Képek tömörítése a kívánt felbontásban

Használja a Compress.CompressImages‑t a megfelelő képek feldolgozásához anélkül, hogy az elrendezéseket eltávolítaná vagy a betűkészleteket részhalmazra szűrné. Ez a példa 96 DPI‑ot használ; válasszon másik PicturesCompression értéket a kívánt kimenethez.

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

using var presentation = new Presentation("input.pptx");
Compress.CompressImages(presentation, PicturesCompression.Dpi96);
presentation.Save("compressed-images.pptx", SaveFormat.Pptx);

Mindkét segéd a következő képfeldolgozási hatókört használja:

Tartalom Kezelés
Raster képek és alakzat képkitöltések normál, master és layout diákon, beleértve a csoportosított alakzatokat Kompresszióra jogosult.
Már a kért felbontásnál alacsonyabb vagy egyenlő felbontású képek Nincs feljavítva. A levágott területek még mindig eltávolíthatók.
Levágott képközeg A rejtett pixelek véglegesen eltávolításra kerülnek, a vágás eltolásai visszaállnak.
Dia hátterek és táblázatcellák kitöltése Ezek a segédek nem dolgozzák fel.
Diagram/SmartArt belső elemei, GIF és vektor formátumok, mint az SVG, EMF és WMF A dokumentált kép‑tömörítési hatáskörön kívül.

A 26.11‑ben a PicturesCompression.DocumentResolution elkerüli a nem levágott kép felbontás‑alapú lecsökkentését, de nem őrzi meg a levágott pixeleket. Egy levágott képet még mindig újraírhat a rejtett területek eltávolításával. Egyik segéd sem kínál megőrzés‑vágás opciót. Egyedi vezérléshez lásd a per-picture compression example példát.

Hasonlítsa össze a kimenet megjelenését és fájlméretét, mielőtt lecserélné az eredetit. A megtakarítások a forrásképektől, azok megjelenített méretétől és a nem használt tartalomtól függenek; a tömörítés nem garantálja a kisebb fájlt. Lásd a Embedded Fonts oldalt a betűkészlet részhalmazolás következményeiről.

GYIK

Mikor kell az alacsony kódú API‑t használni a teljes objektummodell helyett?

Használjon alacsony kódú segédprogramokat, ha egy szabványos művelet egy teljes fájlra vagy prezentációra vonatkozik, és nem igényel részletes irányítást az egyes elemek felett. Használja a teljes objektummodellt, ha konkrét diák kiválasztására, a master és layout kapcsolatok vezérlésére, a köztes állapot ellenőrzésére vagy olyan viselkedés konfigurálására van szükség, amelyet a segéd nem tesz elérhetővé.

Tud-e a Merger különböző fájlformátumú prezentációkat egyesíteni?

Nincs. A Merger.Process megköveteli, hogy a bemeneti prezentációk azonos formátumban legyenek. Először konvertálja a bemeneti fájlokat egy közös formátumba, például a Convert.AutoByExtension segítségével, majd egyesítse a konvertált fájlokat.

A ForEach feldolgozza a master, layout és jegyzet diákat?

A ForEach.Slide a normál prezentációs diákon iterál. A teljes prezentációra kiterjedő ForEach.Shape, ForEach.Paragraph és ForEach.Portion műveletek alapértelmezés szerint a normál, master és layout diákat is tartalmazzák. Használja azok túlterheléseit includeNotes = true értékkel a jegyzetdiák belefoglalásához.

Mi a különbség a ForEach.Shape és a Collect.Shapes között?

Használja a ForEach.Shape‑t, ha minden alakzatot azonnal egy visszahíváson keresztül akar feldolgozni. Használja a Collect.Shapes‑t, ha egy olyan enumerálható eredményre van szüksége, amelyet megtarthat, szűrhet, számolhat vagy többször bejárhat.

A Compress mindig kisebbé teszi a prezentációs fájlt?

Nem feltétlenül. A megtakarítások a nem használt elrendezések/masterek, a nem használt karaktereket tartalmazó beágyazott betűkészletek és a tömörítésből profitáló képek függvényei. A Compress segédprogramok bizonyos bemenetek esetén a méretet változatlanul hagyhatják vagy nagyobb fájlt is eredményezhetnek. Hasonlítsa össze a méretet és a megjelenített minőséget, és tartsa meg az eredetit.

A ForEach vagy Compress által végzett változtatások automatikusan mentődnek?

Nincs. Ezek a segédprogramok a memóriában betöltött Presentation objektumon dolgoznak. A ForEach visszahívásban vagy a Compress futtatása után hívja meg a Presentation.Save‑t az eredmény írásához.

Kapcsolódó cikkek