Konwertuj slajdy PowerPoint do PNG w C++

Przegląd

Ten artykuł wyjaśnia, jak konwertować prezentacje PowerPoint na obrazy PNG przy użyciu Aspose.Slides. Pokazuje, jak wczytywać pliki prezentacji w formatach takich jak PPT, PPTX i ODP, renderować slajdy jako obrazy oraz zapisywać wyniki w formacie PNG.

Artykuł również demonstruje, jak dostosować generowane obrazy PNG, ustawiając wartości skali lub określając żądaną szerokość i wysokość.

Konwertuj PowerPoint do PNG

Postępuj według następujących kroków:

  1. Utwórz instancję klasy Presentation.
  2. Pobierz obiekt slajdu z kolekcji Presentation::get_Slides() pod interfejsem ISlide.
  3. Użyj metody ISlide::GetImage() aby uzyskać miniaturę każdego slajdu.
  4. Użyj metody IImage::Save(String, ImageFormatPtr aby zapisać miniaturę slajdu w formacie PNG.

Ten kod C++ pokazuje, jak przekonwertować prezentację PowerPoint na PNG:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
    
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
    auto slide = pres->get_Slides()->idx_get(index);
    auto fileName = String::Format(u"slide_{0}.png", index);
    slide->GetImage()->Save(fileName, ImageFormat::Png);
}

Konwertuj PowerPoint do PNG z niestandardowymi wymiarami

Jeśli chcesz uzyskać pliki PNG o określonej skali, możesz ustawić wartości desiredX i desiredY, które określają wymiary powstałej miniatury.

Ten kod w C++ demonstruje opisaną operację:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");

float scaleX = 2.f;
float scaleY = 2.f;
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
    auto slide = pres->get_Slides()->idx_get(index);
    auto fileName = String::Format(u"slide_{0}.png", index);
    slide->GetImage(scaleX, scaleY)->Save(fileName, ImageFormat::Png);
}

Konwertuj PowerPoint do PNG z niestandardowym rozmiarem

Jeśli chcesz uzyskać pliki PNG o określonym rozmiarze, możesz przekazać preferowane argumenty width i height dla ImageSize.

Ten kod pokazuje, jak przekonwertować prezentację PowerPoint do PNG, określając rozmiar obrazów:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
    
Size size(960, 720);
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
    auto slide = pres->get_Slides()->idx_get(index);
    auto fileName = String::Format(u"slide_{0}.png", index);
    slide->GetImage(size)->Save(fileName, ImageFormat::Png);
}

FAQ

Jak mogę wyeksportować tylko konkretny kształt (np. wykres lub obraz) zamiast całego slajdu?

Aspose.Slides obsługuje generowanie miniatur dla poszczególnych kształtów; możesz renderować kształt do obrazu PNG.

Czy konwersja równoległa jest wspierana na serwerze?

Tak, ale nie udostępniaj jednej instancji prezentacji pomiędzy wątkami. Użyj osobnej instancji dla każdego wątku lub procesu.

Jakie są ograniczenia wersji próbnej przy eksporcie do PNG?

Tryb ewaluacji dodaje znak wodny do wyjściowych obrazów oraz wymusza inne ograniczenia, dopóki nie zostanie zastosowana licencja.