Low-Code-Präsentationsoperationen in .NET

Übersicht

Der Aspose.Slides.LowCode Namespace bietet statische Hilfsklassen für gängige Präsentationsvorgänge. Diese Hilfsprogramme kapseln häufig verwendete Objektmodell‑Abläufe in fokussierten Methoden, sodass Sie Dateien konvertieren oder zusammenführen, Präsentationselemente verarbeiten, Formen sammeln und ungenutzte Inhalte mit weniger Code entfernen können.

Low‑code‑Hilfsprogramme sind am nützlichsten, wenn der Vorgang auf eine komplette Datei oder Präsentation angewendet wird und der Standard‑Workflow Ihren Anforderungen entspricht. Verwenden Sie das vollständige Aspose.Slides object model, wenn Sie eine feinkörnige Kontrolle über einzelne Folien, Master, Layouts, Formen, Exporteinstellungen oder Beziehungen zwischen Präsentationselementen benötigen.

Die folgende Tabelle fasst die verfügbaren Hilfsprogramme zusammen:

Hilfsprogramm Verwendungszweck
Convert Eine Präsentation in ein anderes Format konvertieren mit einem direkten Datei‑zu‑Datei‑Aufruf.
Merger Vollständige Präsentationsdateien desselben Formats kombinieren.
ForEach Eine Aktion für jede Folie, Form, Absatz oder Textportion ausführen.
Collect Formen aus der gesamten Präsentation abrufen für wiederholte Verarbeitung oder Analyse.
Compress Unbenutzte Master/Layouts entfernen, eingebettete Schriftartdaten reduzieren und Bilder komprimieren.

Eine Präsentation konvertieren

Verwenden Sie Convert.AutoByExtension, wenn die Dateierweiterung des Ausgabedateinamens ausreicht, um das Exportformat auszuwählen. Die Methode öffnet die Quellpräsentation, ermittelt das erforderliche Format aus dem Ausgabepfad und schreibt das Ergebnis.

using Aspose.Slides.LowCode;

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

Die Convert Klasse bietet zudem dedizierte Methoden für PDF, SVG, JPEG, PNG und TIFF. Verwenden Sie das vollständige Objektmodell, wenn Sie die Präsentation vor dem Export prüfen oder ändern oder eine Exportoption konfigurieren müssen, die vom ausgewählten Hilfsprogramm nicht bereitgestellt wird. Siehe Präsentation konvertieren für format‑spezifische Workflows und Optionen.

Präsentationen zusammenführen

Verwenden Sie Merger.Process, um komplette Präsentationsdateien mit einem Aufruf zu kombinieren. Die Eingabedateien müssen das gleiche Dateiformat haben.

using Aspose.Slides.LowCode;

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

Das Hilfsprogramm ist geeignet, wenn alle Folien zu einem Ergebnis hinzugefügt werden sollen, ohne sie einzeln auszuwählen oder neu zuzuordnen. Verwenden Sie das vollständige Objektmodell, wenn Sie ausgewählte Folien zusammenführen, einen Ziel‑Master oder ein Ziel‑Layout anwenden, Abschnitte explizit erhalten oder unterschiedliche Foliengrößen vereinheitlichen müssen. Siehe Präsentationen zusammenführen für diese Szenarien.

Durch Präsentationselemente iterieren

Die ForEach Klasse ruft für jeden angeforderten Typ von Präsentationselement einen Callback auf. Sie vermeidet verschachtelte Schleifen und ist praktisch für eine komplette Inspektion oder Formatierungsänderungen.

Das folgende Beispiel verwendet ForEach.Slide, ForEach.Shape, ForEach.Paragraph und ForEach.Portion, um die entsprechenden Elemente zu untersuchen:

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

Standardmäßig umfasst die bild‑ und textweite Durchlauf von Formen und Text normale, Master‑ und Layout‑Folien. Überladungen mit einem includeNotes‑Parameter können außerdem Notizfolien verarbeiten. Verwenden Sie direkte Schleifen, wenn die Durchlaufreihenfolge, ein früher Abbruch, Filterung vor dem Callback‑Aufruf oder eine detaillierte Eltern‑Kind‑Steuerung wichtig sind.

Formen sammeln

Verwenden Sie Collect.Shapes, wenn Sie eine Sammlung aller Formen in einer Präsentation benötigen, anstatt für jede Form einen Callback zu erhalten. Das ist nützlich, wenn derselbe Satz mehrfach gefiltert, gezählt oder verarbeitet werden soll.

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

Verwenden Sie stattdessen ForEach.Shape, wenn jede Form sofort verarbeitet werden kann und Sie das gesammelte Ergebnis nicht behalten müssen.

Präsentationsinhalt komprimieren

Die Compress Klasse kann unbenutzte strukturelle Elemente entfernen und eingebettete Schriftartdaten reduzieren:

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

Entfernen Sie ungenutzte Layouts vor ungenutzten Mastern, damit ein Master, der nach dem Layout‑Aufräumen nicht mehr referenziert wird, ebenfalls entfernt werden kann. Speichern Sie die optimierte Präsentation in einer neuen Datei, falls Sie die ursprünglichen Master, Layouts oder die kompletten eingebetteten Schriftartdaten später benötigen. Weitere Details finden Sie unter Folienmaster und Eingebettete Schriftart.

Gesamte Präsentation komprimieren

Aspose.Slides for .NET 26.11 fügt Compress.CompressPresentation hinzu. Sie kombiniert das Entfernen ungenutzter Layout‑/Master‑Folien, das Subsetzen eingebetteter Schriften auf verwendete Zeichen und die Bildkompression mit 150 DPI. Verwenden Sie die einzelnen oben beschriebenen Operationen, wenn Sie steuern möchten, welche Änderungen angewendet werden.

Installieren Sie Aspose.Slides for .NET 26.11 oder neuer und geben Sie input.pptx an. Speichern Sie in einer separaten Datei: Entfernte Layouts, Schriftzeichen und beschnittene Bildpixel können für spätere Bearbeitungen benötigt werden.

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

Bilder mit gewählter Auflösung komprimieren

Verwenden Sie Compress.CompressImages, um geeignete Bilder zu verarbeiten, ohne gleichzeitig Layouts zu entfernen oder Schriften zu subsetzen. Dieses Beispiel verwendet 96 DPI; wählen Sie einen anderen PicturesCompression‑Wert für Ihre Ausgabeanforderungen.

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 Hilfsprogramme nutzen den folgenden Bild‑Verarbeitungs‑Umfang:

Inhalt Behandlung
Rasterbilder und Bildfüllungen von Formen auf normalen, Master‑ und Layout‑Folien, einschließlich gruppierter Formen Komprimierungsfähig.
Bilder, die bereits in der angeforderten oder einer niedrigeren Auflösung vorliegen Nicht hochskaliert. Beschnittbereiche können weiterhin entfernt werden.
Beschnittene Bildbereiche Versteckte Pixel werden dauerhaft entfernt und Beschnitt‑Offsets zurückgesetzt.
Folienhintergründe und Tabellenzellen‑Füllungen Wird von diesen Hilfsprogrammen nicht verarbeitet.
Diagramm‑/SmartArt‑Interna, GIF‑ und Vektorformate wie SVG, EMF und WMF Außerhalb des dokumentierten Bildkomprimierungs‑Umfangs.

In 26.11 vermeidet PicturesCompression.DocumentResolution das auflösungsbasierte Downsampling eines unbeschnittenen Bildes, preserviert jedoch keine beschnittenen Pixel. Ein beschnittenes Bild kann weiterhin mit entfernten verborgenen Bereichen neu geschrieben werden. Keines der Hilfsprogramme bietet eine Option zum Erhalt des Beschnitts. Für individuelle Kontrolle siehe das Beispiel für Bildkompression pro Bild.

Vergleichen Sie das Aussehen und die Dateigröße der Ausgabe, bevor Sie das Original ersetzen. Einsparungen hängen von den Quellbildern, ihrer Anzeigegröße und ungenutzten Inhalten ab; Kompression garantiert nicht immer eine kleinere Datei. Siehe Eingebettete Schriften für die Auswirkungen des Schrift‑Subsettings.

FAQ

Wann sollte ich die Low‑Code‑API anstelle des vollständigen Objektmodells verwenden?

Verwenden Sie Low‑Code‑Hilfsprogramme, wenn ein Standardvorgang auf eine komplette Datei oder Präsentation angewendet wird und keine detaillierte Kontrolle über einzelne Elemente erforderlich ist. Verwenden Sie das vollständige Objektmodell, wenn Sie bestimmte Folien auswählen, Master‑ und Layout‑Beziehungen steuern, Zwischenergebnisse prüfen oder ein Verhalten konfigurieren müssen, das das Hilfsprogramm nicht bereitstellt.

Kann Merger Präsentationen in unterschiedlichen Dateiformaten kombinieren?

Nein. Merger.Process erfordert Eingabedateien im gleichen Format. Konvertieren Sie die Eingabedateien zunächst in ein gemeinsames Format, zum Beispiel mit Convert.AutoByExtension, und führen Sie anschließend die konvertierten Dateien zusammen.

Verarbeitet ForEach Master‑, Layout‑ und Notizfolien?

ForEach.Slide iteriert über normale Präsentationsfolien. Präsentationsweite ForEach.Shape, ForEach.Paragraph und ForEach.Portion schließen standardmäßig normale, Master‑ und Layout‑Folien ein. Verwenden Sie deren Überladungen mit includeNotes = true, um Notizfolien einzubeziehen.

Was ist der Unterschied zwischen ForEach.Shape und Collect.Shapes?

Verwenden Sie ForEach.Shape, um jede Form sofort über einen Callback zu verarbeiten. Verwenden Sie Collect.Shapes, wenn Sie ein aufzählbares Ergebnis benötigen, das behalten, gefiltert, gezählt oder mehrmals durchlaufen werden kann.

Macht Compress die Präsentationsdatei immer kleiner?

Nicht unbedingt. Einsparungen hängen von ungenutzten Layouts/Mastern, eingebetteten Schriften mit ungenutzten Zeichen und Bildern ab, die von einer Kompression profitieren. Die Compress‑Hilfsprogramme können die Größe unverändert lassen oder bei manchen Eingaben sogar eine größere Datei erzeugen. Vergleichen Sie sowohl Größe als auch gerenderte Qualität und behalten Sie das Original.

Werden Änderungen, die von ForEach oder Compress vorgenommen wurden, automatisch gespeichert?

Nein. Diese Hilfsprogramme arbeiten auf dem geladenen Presentation‑Objekt im Speicher. Nachdem Sie Elemente in einem ForEach‑Callback geändert oder Compress ausgeführt haben, rufen Sie Presentation.Save auf, um das Ergebnis zu schreiben.

Verwandte Artikel