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:
- Compress.RemoveUnusedLayoutSlides eltávolítja azokat a layout diákat, amelyeket egyetlen normál dia sem hivatkozik.
- Compress.RemoveUnusedMasterSlides eltávolítja a már nem használt master diákat.
- Compress.CompressEmbeddedFonts eltávolítja a beágyazott betűkészletekből a nem használt karaktereket.
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.