Konwertowanie PPT i PPTX do JPG w C++

Wprowadzenie

Konwertowanie prezentacji PowerPoint i OpenDocument na obrazy JPG pomaga w udostępnianiu slajdów, optymalizacji wydajności oraz osadzaniu treści w witrynach lub aplikacjach. Aspose.Slides dla C++ umożliwia przekształcenie plików PPTX, PPT i ODP w wysokiej jakości obrazy JPEG. Ten przewodnik wyjaśnia różne metody konwersji.

Dzięki tym funkcjom łatwo zaimplementować własną przeglądarkę prezentacji i utworzyć miniaturę każdego slajdu. Może to być przydatne, jeśli chcesz chronić slajdy przed kopiowaniem lub pokazać prezentację w trybie tylko do odczytu. Aspose.Slides pozwala konwertować całą prezentację lub wybrany slajd do formatów obrazu.

Konwertowanie slajdów prezentacji na obrazy JPG

Oto kroki, aby skonwertować plik PPT, PPTX lub ODP do JPG:

  1. Utwórz instancję klasy Presentation.
  2. Pobierz obiekt slajdu typu ISlide z kolekcji slajdów prezentacji.
  3. Utwórz obraz slajdu przy użyciu metody ISlide.GetImage.
  4. Wywołaj metodę IImage.Save na obiekcie obrazu. Przekaż nazwę pliku wyjściowego i format obrazu jako argumenty.
float scaleX = 1.0f;
float scaleY = scaleX;

auto presentation = MakeObject<Presentation>(u"PowerPoint-Presentation.ppt");

for (auto&& slide : presentation->get_Slides())
{
    // Utwórz obraz slajdu w określonej skali.
    auto image = slide->GetImage(scaleX, scaleY);

    // Zapisz obraz na dysku w formacie JPEG.
    auto fileName = String::Format(u"Slide_{0}.jpg", slide->get_SlideNumber());
    image->Save(fileName, ImageFormat::Jpeg);

    image->Dispose();
}

presentation->Dispose();

Konwertowanie slajdów do JPG z niestandardowymi wymiarami

Aby zmienić wymiary wygenerowanych obrazów JPG, możesz ustawić rozmiar obrazu, przekazując go do metody ISlide.GetImage(Size). Umożliwia to tworzenie obrazów o określonej szerokości i wysokości, zapewniając, że wynik spełnia Twoje wymagania co do rozdzielczości i proporcji. Ta elastyczność jest szczególnie przydatna przy generowaniu obrazów dla aplikacji internetowych, raportów lub dokumentacji, gdzie wymagana jest precyzyjna wielkość obrazu.

Size imageSize(1200, 800);

auto presentation = MakeObject<Presentation>(u"PowerPoint-Presentation.pptx");

for (auto&& slide : presentation->get_Slides())
{
    // Utwórz obraz slajdu o określonym rozmiarze.
    auto image = slide->GetImage(imageSize);

    // Zapisz obraz na dysku w formacie JPEG.
    auto fileName = System::String::Format(u"Slide_{0}.jpg", slide->get_SlideNumber());
    image->Save(fileName, ImageFormat::Jpeg);

    image->Dispose();
}

presentation->Dispose();

Renderowanie komentarzy przy zapisywaniu slajdów jako obrazy

Aspose.Slides dla C++ udostępnia funkcję, która pozwala renderować komentarze na slajdach prezentacji podczas konwersji ich do obrazów JPG. Funkcjonalność ta jest szczególnie przydatna do zachowania adnotacji, uwag lub dyskusji dodanych przez współpracowników w prezentacjach PowerPoint. Włączając tę opcję, zapewniasz widoczność komentarzy w wygenerowanych obrazach, co ułatwia przeglądanie i udostępnianie uwag bez konieczności otwierania oryginalnego pliku prezentacji.

Załóżmy, że mamy plik prezentacji „sample.pptx” z slajdem zawierającym komentarze:

Slajd z komentarzami

Poniższy kod C++ konwertuje slajd na obraz JPG, zachowując komentarze:

float scaleX = 2.0f;
float scaleY = scaleX;

auto presentation = MakeObject<Presentation>(u"sample.pptx");
{
    auto commentOptions = MakeObject<NotesCommentsLayoutingOptions>();
    commentOptions->set_CommentsPosition(CommentsPositions::Right);
    commentOptions->set_CommentsAreaWidth(200);
    commentOptions->set_CommentsAreaColor(Color::get_DarkOrange());

    // Ustaw opcje komentarzy slajdu.
    auto options = MakeObject<RenderingOptions>();
    options->set_SlidesLayoutOptions(commentOptions);

    // Konwertuj pierwszy slajd na obraz.
    auto image = presentation->get_Slide(0)->GetImage(options, scaleX, scaleY);
        
    image->Save(u"Slide_1.jpg", ImageFormat::Jpeg);
    image->Dispose();
}

presentation->Dispose();

Wynik:

Obraz JPG z komentarzami

Zobacz także

Zobacz inne opcje konwertowania PPT, PPTX lub ODP na obrazy, takie jak:

Darmowy konwerter online PPTX do JPG

FAQ

Czy ta metoda obsługuje konwersję wsadową?

Tak, Aspose.Slides umożliwia konwersję wsadową wielu slajdów do JPG w jednej operacji.

Czy konwersja obsługuje SmartArt, wykresy i inne złożone obiekty?

Tak, Aspose.Slides renderuje całą zawartość, w tym SmartArt, wykresy, tabele, kształty i inne elementy. Jednak dokładność renderowania może nieco się różnić w porównaniu z PowerPoint, szczególnie przy użyciu niestandardowych lub brakujących czcionek.

Czy istnieją ograniczenia dotyczące liczby slajdów, które można przetworzyć?

Aspose.Slides nie narzuca sztywnych limitów liczby slajdów, które można przetworzyć. Jednak przy dużych prezentacjach lub obrazach wysokiej rozdzielczości możesz napotkać błędy braku pamięci.