Konvertieren Sie PPTX in C++ in Video

Leistungsstarke plattformübergreifende C++-API zum Konvertieren von PowerPoint in Videos mithilfe von C++-Code

Konvertieren Sie PowerPoint mit Aspose.Slides in ein Video

Aspose.Slides für C++ ist eine leistungsstarke C++-Bibliothek, die zum Erstellen, Bearbeiten und Bearbeiten von Präsentationen sowie zum Konvertieren von PowerPoint-Präsentationen in andere Dokumente und Videos verwendet wird . In diesem Fall müssen Sie zum Konvertieren von PowerPoint in Video Aspose.Slides neben ffmpeg verwenden.

So funktioniert der PPTX-zu-Video-Konvertierungsprozess: Aspose.Slides wird verwendet, um eine Reihe von Frames (aus den Präsentationsfolien) zu generieren, und dann wird FFMpegCore (ffmpeg) verwendet, um ein Video basierend auf den Frames zu erstellen.

So konvertieren Sie PPTX in Video

  1. Installieren Sie Aspose.Slides für C++, indem Sie den Anweisungen hier folgen. Laden Sie ffmpeg [hier] herunter.( https://ffmpeg.org/download.html )

  2. Fügen Sie den Pfad zu „ffmpeg.exe“ zur Umgebungsvariablen „PATH“ hinzu.

  3. Kopieren Sie den C++ PowerPoint to Video-Code, fügen Sie ihn ein und führen Sie ihn dann aus.

Konvertieren Sie PowerPoint in C++ in ein Video

Verwenden Sie diesen C++-Code, um PPTX in Video zu konvertieren:

C++-Code zum Konvertieren von PowerPoint in Video


void OnFrameTick(System::SharedPtr<PresentationPlayer> sender, System::SharedPtr<FrameTickEventArgs> args)
{
    System::String fileName = System::String::Format(u"frame_{0}.png", sender->get_FrameIndex());
    args->GetFrame()->Save(fileName);
}

void Run()
{
    auto presentation = System::MakeObject<Presentation>();
    auto slide = presentation->get_Slide(0);

    // Adds a smile shape and then animates it
    System::SharedPtr<IAutoShape> smile = slide->get_Shapes()->AddAutoShape(ShapeType::SmileyFace, 110.0f, 20.0f, 500.0f, 500.0f);
    auto sequence = slide->get_Timeline()->get_MainSequence();
    System::SharedPtr<IEffect> effectIn = sequence->AddEffect(smile, EffectType::Fly, EffectSubtype::TopLeft, EffectTriggerType::AfterPrevious);
    System::SharedPtr<IEffect> effectOut = sequence->AddEffect(smile, EffectType::Fly, EffectSubtype::BottomRight, EffectTriggerType::AfterPrevious);
    effectIn->get_Timing()->set_Duration(2.0f);
    effectOut->set_PresetClassType(EffectPresetClassType::Exit);

    const int32_t fps = 33;

    auto animationsGenerator = System::MakeObject<PresentationAnimationsGenerator>(presentation);
    auto player = System::MakeObject<PresentationPlayer>(animationsGenerator, fps);
    player->FrameTick += OnFrameTick;
    animationsGenerator->Run(presentation->get_Slides());

    const System::String ffmpegParameters = System::String::Format(
        u"-loglevel {0} -framerate {1} -i {2} -y -c:v {3} -pix_fmt {4} {5}",
        u"warning", m_fps, "frame_%d.png", u"libx264", u"yuv420p", "video.mp4");
    auto ffmpegProcess = System::Diagnostics::Process::Start(u"ffmpeg", ffmpegParameters);
    ffmpegProcess->WaitForExit();
}

Andere unterstützte Konvertierungen

Sie können PowerPoint auch in Dateien in anderen Formaten konvertieren