generuj miniatury PPTX w C#

Miniatury są powszechnie używane do tworzenia mniejszych wersji większych obrazów. Ułatwiają przeglądanie lub przewijanie listy obrazów. MS PowerPoint udostępnia także miniatury slajdów w prezentacji. Korzystając z miniatur slajdów, możesz łatwo przeglądać prezentację i przechodzić do konkretnego slajdu. W tym artykule dowiesz się, jak generować miniatury PowerPoint PPTX lub PPT przy użyciu języka C#. Może to być przydatne w scenariuszach, na przykład gdy trzeba utworzyć własną przeglądarkę PowerPoint w przeglądarce lub na komputerze.

.NET API do generowania miniatur dla programu PowerPoint PPTX/PPT

Do generowania miniatur dla prezentacji PPTX lub PPT użyjemy Aspose.Slides for .NET. Jest to potężny interfejs API, który umożliwia tworzenie i manipulowanie dokumentami PowerPoint i OpenOffice. Ponadto umożliwia konwersję prezentacji do innych formatów plików. Możesz pobrać interfejs API lub zainstalować go za pomocą NuGet.

PM> Install-Package Aspose.Slides.NET

Generuj miniatury dla PPTX lub PPT przy użyciu C#

Poniżej przedstawiono kroki generowania miniatur prezentacji PPTX przy użyciu języka C#.

  1. Najpierw utwórz instancję klasy Presentation, aby załadować prezentację.
  2. Przejrzyj w pętli każdy ISlide w kolekcji Presentation.Slides.
  3. Wygeneruj miniaturę każdego slajdu za pomocą metody ISlide.GetThumbnail(1f, 1f) i pobierz odniesienie do miniatury do obiektu Bitmap.
  4. Na koniec zapisz miniaturę w żądanym formacie obrazu, używając metody Bitmap.Save(String, System.Drawing.Imaging.ImageFormat).

Poniższy przykładowy kod pokazuje, jak generować miniatury prezentacji PPTX przy użyciu języka C#.

// Załaduj prezentację PowerPoint
using (Presentation pres = new Presentation("presentation.pptx"))
{
    foreach (ISlide sld in pres.Slides)
    {
        // Utwórz obraz w pełnej skali
        Bitmap bmp = sld.GetThumbnail(1f, 1f);

        // Zapisz obraz na dysku w formacie JPEG
        bmp.Save(String.Format("slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
    }
}

Generuj miniatury o wymiarach zdefiniowanych przez użytkownika

Możesz również dostosować wymiary miniatur do swoich wymagań. Można to osiągnąć za pomocą właściwości Presentation.SlideSize.Size.Width i Presentation.SlideSize.Size.Height. Poniżej przedstawiono kroki, aby wykonać tę operację.

  1. Najpierw utwórz instancję klasy Presentation, aby załadować prezentację.
  2. Następnie ustaw żądane wymiary miniatur i przeskaluj wartości za pomocą właściwości Width i Height.
  3. Przejdź przez każdy ISlide w kolekcji Presentation.Slides.
  4. Wygeneruj miniaturę każdego slajdu za pomocą metody ISlide.GetThumbnail(Single, Single) i pobierz odniesienie do miniatury do obiektu Bitmap.
  5. Na koniec zapisz miniaturę w żądanym formacie obrazu, używając metody Bitmap.Save(String, System.Drawing.Imaging.ImageFormat).

Poniższy przykładowy kod pokazuje, jak generować miniatury PPTX o niestandardowych wymiarach.

// Załaduj prezentację PowerPoint
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Wymiar zdefiniowany przez użytkownika
    int desiredX = 1200;
    int desiredY = 800;

    // Uzyskiwanie przeskalowanej wartości X i Y
    float ScaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX;
    float ScaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY;

    foreach (ISlide sld in pres.Slides)
    {
        // Utwórz obraz w pełnej skali
        Bitmap bmp = sld.GetThumbnail(ScaleX, ScaleY);

        // Zapisz obraz na dysku w formacie JPEG
        bmp.Save(String.Format("slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
    }
}

Uzyskaj bezpłatną licencję API

Możesz używać Aspose.Slides for .NET bez ograniczeń ewaluacyjnych, prosząc o licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się, jak generować miniatury PowerPoint PPTX lub PPT przy użyciu języka C#. Ponadto widziałeś, jak generować miniatury o pożądanych wymiarach. Ponadto możesz odwiedzić dokumentację, aby zapoznać się z innymi funkcjami API. Możesz też swobodnie informować nas o swoich zapytaniach za pośrednictwem naszego forum.

Zobacz też