Convertir PPTX en vidéo en C++

Puissante API C++ multiplateforme pour convertir PowerPoint en vidéo à l’aide de code C++

Convertir PowerPoint en vidéo à l'aide d'Aspose.Slides

Aspose.Slides pour C++ est une puissante bibliothèque C++ utilisée pour créer, éditer et manipuler des présentations et également convertir des présentations PowerPoint en d’autres documents et vidéos . Dans ce cas, pour convertir PowerPoint en vidéo, vous devez utiliser Aspose.Slides avec ffmpeg.

Voici comment fonctionne le processus de conversion PPTX en vidéo : Aspose.Slides est utilisé pour générer un ensemble d’images (à partir des diapositives de présentation), puis FFMpegCore (ffmpeg) est utilisé pour créer une vidéo basée sur les images.

Comment convertir PPTX en vidéo

  1. Installez Aspose.Slides pour C++ en suivant les instructions ici . Téléchargez ffmpeg ici.

  2. Ajoutez le chemin d’accès à ffmpeg.exe à la variable d’environnement PATH.

  3. Copiez, collez, puis exécutez le PowerPoint C++ vers le code vidéo.

Convertir PowerPoint en vidéo en C++

Utilisez ce code C++ pour convertir PPTX en vidéo :

Code C++ pour convertir PowerPoint en vidéo


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

Autres conversions prises en charge

Vous pouvez également convertir PowerPoint en fichiers dans d'autres formats