Low-Code Presentatie‑operaties in .NET

Overzicht

De Aspose.Slides.LowCode namespace biedt statische hulpprogramma‑klassen voor gemeenschappelijke presentatie‑bewerkingen. Deze helpers wikkelen vaak gebruikte object‑model‑werkstromen in gerichte methoden, zodat je bestanden kunt converteren of samenvoegen, presentatie‑elementen kunt verwerken, shapes kunt verzamelen en ongebruikte content kunt verwijderen met minder code.

Low‑code helpers zijn het meest nuttig wanneer de bewerking van toepassing is op een heel bestand of presentatie en de standaard workflow voldoet aan je eisen. Gebruik het volledige Aspose.Slides object model wanneer je fijnmazige controle nodig hebt over individuele dia’s, masters, layouts, shapes, exportinstellingen of relaties tussen presentatie‑elementen.

De onderstaande tabel geeft een overzicht van de beschikbare helpers:

Helper Waarvoor gebruiken
Convert Een presentatie converteren naar een ander formaat met een directe bestand‑naar‑bestand‑aanroep.
Merger Complete presentatie‑bestanden van hetzelfde formaat combineren.
ForEach Een actie uitvoeren voor elke dia, shape, alinea of tekstgedeelte.
Collect Shapes ophalen uit de volledige presentatie voor herhaalde verwerking of analyse.
Compress Niet‑gebruikte masters/layouts verwijderen, ingesloten lettertype‑data verkleinen en afbeeldingen comprimeren.

Een presentatie converteren

Gebruik Convert.AutoByExtension wanneer de extensie van het uitvoerbestand voldoende is om het exportformaat te bepalen. De methode opent de bronpresentatie, bepaalt het vereiste formaat op basis van het uitvoerpad en schrijft het resultaat.

using Aspose.Slides.LowCode;

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

De Convert klasse biedt ook specifieke methoden voor PDF, SVG, JPEG, PNG en TIFF uitvoer. Gebruik het volledige object model wanneer je de presentatie moet inspecteren of aanpassen vóór export of wanneer je een exportoptie moet configureren die niet wordt blootgesteld door de geselecteerde helper. Zie Presentatie converteren voor formaat‑specifieke werkstromen en opties.

Presentaties samenvoegen

Gebruik Merger.Process om volledige presentatie‑bestanden in één stap te combineren. De invoer‑presentaties moeten hetzelfde bestandsformaat hebben.

using Aspose.Slides.LowCode;

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

De helper is geschikt wanneer alle dia’s moeten worden toegevoegd aan één resultaat zonder ze individueel te selecteren of opnieuw toe te wijzen. Gebruik het volledige object model wanneer je geselecteerde dia’s moet samenvoegen, een bestemmings‑master of layout moet toepassen, secties expliciet moet behouden, of verschillende dia‑groottes moet harmoniseren. Zie Presentaties samenvoegen voor die scenario’s.

Itereren over presentatie‑elementen

De ForEach klasse roept een callback aan voor elk aangevraagd type presentatie‑element. Het voorkomt geneste collectie‑lussen en is praktisch voor inspectie of opmaakwijzigingen over de hele presentatie.

Het volgende voorbeeld gebruikt ForEach.Slide, ForEach.Shape, ForEach.Paragraph en ForEach.Portion om de overeenkomstige elementen te inspecteren:

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

Standaard omvat de traversering van shapes en tekst over de hele presentatie normale, master‑ en layout‑dia’s. Overloads met een includeNotes‑parameter kunnen ook notitiedia’s verwerken. Gebruik directe collectie‑lussen wanneer de volgorde van traversering, vroegtijdig stoppen, filteren vóór callback‑aanroep of gedetailleerde ouder‑kind‑controle belangrijk is.

Shapes verzamelen

Gebruik Collect.Shapes wanneer je een collectie van alle shapes in een presentatie nodig hebt in plaats van een callback voor elke shape. Dit is handig wanneer dezelfde verzameling meerdere keren gefilterd, geteld of verwerkt moet worden.

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

Gebruik in plaats daarvan ForEach.Shape wanneer elke shape direct kan worden afgehandeld en je de verzamelde resultaten niet hoeft te behouden.

Presentatie‑content comprimeren

De Compress klasse kan ongebruikte structurele elementen verwijderen en ingesloten lettertype‑data verkleinen:

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

Verwijder ongebruikte layouts vóór ongebruikte masters zodat een master die na het opschonen van layouts ongerefereerd raakt ook verwijderd kan worden. Sla de geoptimaliseerde presentatie op in een nieuw bestand als je later de originele masters, layouts of volledige ingesloten lettertype‑data mogelijk nodig hebt. Voor meer details, zie Slide Master en Embedded Font.

De volledige presentatie comprimeren

Aspose.Slides for .NET 26.11 voegt Compress.CompressPresentation toe. Het combineert het verwijderen van ongebruikte layout/master‑dia’s, het reduceren van ingesloten lettertypen tot gebruikte tekens en afbeeldingcompressie op 150 DPI. Gebruik de individuele bewerkingen hierboven wanneer je controle wilt hebben over welke wijzigingen worden toegepast.

Installeer Aspose.Slides for .NET 26.11 of later en lever input.pptx. Sla op naar een apart bestand: verwijderde layouts, lettertype‑tekens en bijgesneden afbeelding‑pixels kunnen later nodig zijn voor verdere bewerking.

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

Afbeeldingen comprimeren op een gekozen resolutie

Gebruik Compress.CompressImages om in aanmerking komende afbeeldingen te verwerken zonder ook layouts te verwijderen of lettertypen te reduceren. Dit voorbeeld gebruikt 96 DPI; selecteer een andere PicturesCompression waarde voor je uitvoerbehoefte.

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

Beide helpers gebruiken de volgende afbeeldings‑verwerkingsscope:

Inhoud Behandeling
Raster‑afbeeldingen en shape‑picture‑fills op normale, master‑ en layout‑dia’s, inclusief gegroepeerde shapes In aanmerking voor compressie.
Afbeeldingen die al op of onder de gevraagde resolutie zitten Niet opgewaardeerd. Bijgesneden gebieden kunnen nog steeds worden verwijderd.
Bijgesneden afbeelding‑gebieden Verborgen pixels worden permanent verwijderd en bijsnij‑offsets gereset.
Dia‑achtergronden en tabelcel‑fills Niet verwerkt door deze helpers.
Internals van grafieken/SmartArt, GIF‑ en vectorformaten zoals SVG, EMF en WMF Buiten het gedocumenteerde beeld‑compressie‑bereik.

In 26.11 voorkomt PicturesCompression.DocumentResolution resolutie‑gebaseerde downsampling van een niet‑bijgesneden afbeelding, maar behoudt geen bijgesneden pixels. Een bijgesneden afbeelding kan nog steeds worden herschreven met de verborgen gebieden verwijderd. Geen van de helpers biedt een optie om bijgesneden pixels te behouden. Voor individuele controle, zie het per‑afbeelding compressie‑voorbeeld.

Vergelijk het uiterlijk en de bestandsgrootte van de output vóór het vervangen van het origineel. Besparingen hangen af van de bronafbeeldingen, hun weergegeven grootte en ongebruikte content; compressie garandeert niet dat het bestand kleiner wordt. Zie Embedded Fonts voor de gevolgen van lettertype‑reductie.

FAQ

Wanneer moet ik de low‑code API gebruiken in plaats van het volledige object model?

Gebruik low‑code helpers wanneer een standaardbewerking wordt toegepast op een compleet bestand of presentatie en geen gedetailleerde controle over individuele elementen vereist is. Gebruik het volledige object model wanneer je specifieke dia’s moet selecteren, master‑ en layout‑relaties moet beheren, een tussentijdse status moet inspecteren, of gedrag moet configureren dat de helper niet blootstelt.

Kan Merger presentaties combineren met verschillende bestandsformaten?

Nee. Merger.Process vereist input‑presentaties in hetzelfde formaat. Converteer de invoer‑bestanden eerst naar een gemeenschappelijk formaat, bijvoorbeeld met Convert.AutoByExtension, en voeg daarna de geconverteerde bestanden samen.

Verwerkt ForEach master‑, layout‑ en notitiedia’s?

ForEach.Slide iterateert door normale presentatiedia’s. Presentatie‑brede ForEach.Shape, ForEach.Paragraph en ForEach.Portion operaties omvatten standaard normale, master‑ en layout‑dia’s. Gebruik hun overloads met includeNotes op true om notitiedia’s op te nemen.

Wat is het verschil tussen ForEach.Shape en Collect.Shapes?

Gebruik ForEach.Shape om elke shape direct te verwerken via een callback. Gebruik Collect.Shapes wanneer je een enumerate‑resultaat nodig hebt dat kan worden bewaard, gefilterd, geteld of meerdere keren kan worden doorlopen.

Maakt Compress altijd het presentatie‑bestand kleiner?

Niet per se. Besparingen hangen af van ongebruikte layouts/masters, ingesloten lettertypen met ongebruikte tekens en afbeeldingen die baat hebben bij compressie. De Compress helpers kunnen de grootte ongewijzigd laten of zelfs een groter bestand opleveren voor sommige invoerbestanden. Vergelijk zowel grootte als render‑kwaliteit, en bewaar het origineel.

Worden wijzigingen die door ForEach of Compress worden aangebracht automatisch opgeslagen?

Nee. Deze helpers werken op het geladen Presentation object in het geheugen. Na het wijzigen van elementen in een ForEach callback of het uitvoeren van Compress, roep Presentation.Save aan om het resultaat weg te schrijven.

Gerelateerde artikelen