Operacje prezentacji Low-Code w .NET

Przegląd

Przestrzeń nazw Aspose.Slides.LowCode udostępnia statyczne klasy pomocnicze do typowych operacji na prezentacjach. Te klasy upraszczają często używane przepływy pracy modelu obiektowego, więc możesz konwertować lub scalać pliki, przetwarzać elementy prezentacji, zbierać kształty i usuwać nieużywaną zawartość przy mniejszej ilości kodu.

Pomocnicy low‑code są najprzydatniejsi, gdy operacja dotyczy całego pliku lub prezentacji, a domyślny przepływ pracy spełnia Twoje wymagania. Używaj pełnego modelu obiektowego Aspose.Slides, gdy potrzebujesz precyzyjnej kontroli nad poszczególnymi slajdami, wzorami, układami, kształtami, ustawieniami eksportu lub zależnościami między elementami prezentacji.

Poniższa tabela podsumowuje dostępnych pomocników:

Pomocnik Do czego służy
Convert Konwersja prezentacji do innego formatu przy użyciu bezpośredniego wywołania plik‑do‑pliku.
Merger Łączenie pełnych plików prezentacji tego samego formatu.
ForEach Wykonywanie akcji dla każdego slajdu, kształtu, akapitu lub fragmentu tekstu.
Collect Pobieranie kształtów z całej prezentacji w celu wielokrotnego przetwarzania lub analizy.
Compress Usuwanie nieużywanych wzorów/układów, redukcja osadzonych danych czcionek oraz kompresja obrazów.

Konwertuj prezentację

Użyj Convert.AutoByExtension gdy rozszerzenie pliku wyjściowego wystarczy do wybrania formatu eksportu. Metoda otwiera źródłową prezentację, określa wymaganą wersję z ścieżki wyjściowej i zapisuje wynik.

using Aspose.Slides.LowCode;

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

Klasa Convert udostępnia także dedykowane metody dla wyjścia PDF, SVG, JPEG, PNG i TIFF. Skorzystaj z pełnego modelu obiektowego, gdy potrzebujesz sprawdzić lub zmodyfikować prezentację przed eksportem albo skonfigurować opcję eksportu, której nie udostępnia wybrany pomocnik. Zobacz Convert Presentation po szczegółowe przepływy i opcje formatów.

Scal prezentacje

Użyj Merger.Process aby połączyć pełne pliki prezentacji jednym wywołaniem. Pliki wejściowe muszą mieć ten sam format.

using Aspose.Slides.LowCode;

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

Ten pomocnik jest odpowiedni, gdy wszystkie slajdy mają zostać dołączone do jednego rezultatu bez indywidualnego wybierania lub przemapowywania. Skorzystaj z pełnego modelu obiektowego, gdy musisz scalić wybrane slajdy, zastosować docelowy wzór lub układ, zachować sekcje explicite lub dopasować różne rozmiary slajdów. Zobacz Merge Presentations dla tych scenariuszy.

Iteruj po elementach prezentacji

Klasa ForEach wywołuje funkcję zwrotną dla każdego żądanego typu elementu prezentacji. Unika zagnieżdżonych pętli kolekcji i jest wygodna przy inspekcji lub zmianach formatowania obejmujących całą prezentację.

Poniższy przykład używa ForEach.Slide, ForEach.Shape, ForEach.Paragraph i ForEach.Portion do inspekcji odpowiednich elementów:

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

Domyślnie przeglądanie kształtów i tekstu w całej prezentacji obejmuje slajdy zwykłe, wzory i układy. Przeciążenia z parametrem includeNotes mogą także przetwarzać slajdy notatek. Użyj bezpośrednich pętli kolekcji, gdy kolejność przeglądania, wczesne wyjście, filtrowanie przed wywołaniem zwrotnym lub szczegółowa kontrola rodzic‑dziecko są istotne.

Zbieraj kształty

Użyj Collect.Shapes gdy potrzebujesz kolekcji wszystkich kształtów w prezentacji, a nie funkcji zwrotnej dla każdego z nich. Jest to przydatne, gdy ten sam zestaw będzie filtrowany, liczony lub przetwarzany wielokrotnie.

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

Użyj ForEach.Shape zamiast, gdy każdy kształt może być obsłużony od razu i nie musisz zachowywać zebranego wyniku.

Kompresuj zawartość prezentacji

Klasa Compress może usuwać nieużywane elementy strukturalne i redukować dane osadzonych czcionek:

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

Najpierw usuń nieużywane układy, a potem nieużywane wzory, aby wzór, który po czyszczeniu układów przestanie być referencjonowany, również mógł zostać usunięty. Zapisz zoptymalizowaną prezentację do nowego pliku, jeśli później możesz potrzebować oryginalnych wzorów, układów lub pełnych danych czcionek. Po więcej szczegółów zobacz Slide Master oraz Embedded Font.

Kompresja całej prezentacji

Aspose.Slides dla .NET 26.11 wprowadza Compress.CompressPresentation. Łączy usuwanie nieużywanych slajdów układów/wzorów, podzbiór osadzonych czcionek do używanych znaków oraz kompresję obrazów przy 150 DPI. Używaj poszczególnych operacji powyżej, gdy potrzebujesz kontrolować, które zmiany zostaną zastosowane.

Zainstaluj Aspose.Slides dla .NET w wersji 26.11 lub nowszej i podaj input.pptx. Zapisz do osobnego pliku: usunięte układy, znaki czcionek i przycięte piksele obrazów mogą być potrzebne przy późniejszej edycji.

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

Kompresuj obrazy w wybranej rozdzielczości

Użyj Compress.CompressImages aby przetworzyć kwalifikujące się obrazy bez jednoczesnego usuwania układów czy podzbiorem czcionek. W przykładzie użyto 96 DPI; wybierz inną wartość PicturesCompression dla swoich potrzeb wyjściowych.

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

Oba pomocniki stosują następujący zakres przetwarzania obrazów:

Zawartość Traktowanie
Obrazy rastrowe i wypełnienia obrazami w kształtach na slajdach normalnych, wzorów i układów, w tym grupowane kształty Kwalifikowane do kompresji.
Obrazy już o żądanej lub niższej rozdzielczości Nie są powiększane. Obszary przycięte mogą być nadal usuwane.
Przycięte fragmenty obrazów Ukryte piksele są trwale usuwane, a offsety przycięcia resetowane.
Tła slajdów i wypełnienia komórek tabel Nie są przetwarzane przez te pomocniki.
Wewnętrzne elementy wykresów/SmartArt, GIF oraz formaty wektorowe takie jak SVG, EMF i WMF Poza zakresem udokumentowanej kompresji obrazów.

W wersji 26.11 PicturesCompression.DocumentResolution zapobiega downsamplingowi obrazów nieprzyciętych na podstawie rozdzielczości, ale nie zachowuje przyciętych pikseli. Przycięty obraz może nadal zostać zapisany z usuniętymi ukrytymi obszarami. Żaden z pomocników nie udostępnia opcji zachowania przycięcia. Po indywidualną kontrolę zobacz przykład kompresji per‑obraz.

Porównaj wygląd i rozmiar pliku wyjściowego przed zastąpieniem oryginału. Oszczędności zależą od źródłowych obrazów, ich wyświetlanej wielkości i nieużywanej zawartości; kompresja nie gwarantuje mniejszego pliku. Zobacz Embedded Fonts po implikacje podzbioru czcionek.

FAQ

Kiedy powinienem używać API low‑code zamiast pełnego modelu obiektowego?

Używaj pomocników low‑code, gdy standardowa operacja dotyczy całego pliku lub prezentacji i nie wymaga szczegółowej kontroli nad poszczególnymi elementami. Korzystaj z pełnego modelu obiektowego, gdy musisz wybrać konkretne slajdy, kontrolować relacje wzorów i układów, sprawdzić stan pośredni lub skonfigurować zachowanie, którego pomocnik nie udostępnia.

Czy Merger może łączyć prezentacje w różnych formatach plików?

Nie. Merger.Process wymaga, aby prezentacje wejściowe miały ten sam format. Najpierw skonwertuj pliki wejściowe do wspólnego formatu, na przykład przy użyciu Convert.AutoByExtension, a następnie scal przekonwertowane pliki.

Czy ForEach przetwarza slajdy wzoru, układu i notatek?

ForEach.Slide iteruje po normalnych slajdach prezentacji. Operacje ForEach.Shape, ForEach.Paragraph i ForEach.Portion obejmują domyślnie normalne, wzory i układy. Użyj ich przeciążeń z includeNotes ustawionym na true, aby włączyć slajdy notatek.

Jaka jest różnica między ForEach.Shape a Collect.Shapes?

Użyj ForEach.Shape, aby przetwarzać każdy kształt od razu w ramach funkcji zwrotnej. Użyj Collect.Shapes, gdy potrzebujesz wyniku wyliczalnego, który można zachować, filtrować, liczyć lub przeglądać wielokrotnie.

Czy Compress zawsze zmniejsza rozmiar pliku prezentacji?

Nie zawsze. Oszczędności zależą od nieużywanych układów/wzorów, osadzonych czcionek z nieużywanymi znakami oraz obrazów, które korzystają z kompresji. Pomocnicy Compress mogą pozostawić rozmiar bez zmian lub nawet zwiększyć go przy niektórych danych wejściowych. Porównaj zarówno rozmiar, jak i jakość wizualną oraz zachowaj oryginał.

Czy zmiany wprowadzone przez ForEach lub Compress są zapisywane automatycznie?

Nie. Te pomocniki działają na wczytanym w pamięci obiekcie Presentation. Po zmianie elementów w wywołaniu zwrotnym ForEach lub po uruchomieniu Compress, wywołaj Presentation.Save, aby zapisać wynik.

Powiązane artykuły