Μετατροπή PPTX σε βίντεο σε C++

Ισχυρό cross-platform C++ API για μετατροπή PowerPoint σε βίντεο χρησιμοποιώντας κώδικα C++

Μετατρέψτε το PowerPoint σε βίντεο χρησιμοποιώντας το Aspose.Slides

Το Aspose.Slides for C++ είναι μια ισχυρή βιβλιοθήκη C++ που χρησιμοποιείται για τη δημιουργία, επεξεργασία και χειρισμό παρουσιάσεων και επίσης μετατροπή παρουσιάσεων PowerPoint σε άλλα έγγραφα και βίντεο . Σε αυτήν την περίπτωση, για να μετατρέψετε το PowerPoint σε βίντεο, πρέπει να χρησιμοποιήσετε το Aspose.Slides μαζί με το ffmpeg.

Έτσι λειτουργεί η διαδικασία μετατροπής PPTX σε βίντεο: Το Aspose.Slides χρησιμοποιείται για τη δημιουργία ενός συνόλου καρέ (από τις διαφάνειες της παρουσίασης) και στη συνέχεια το FFMpegCore (ffmpeg) για τη δημιουργία ενός βίντεο με βάση τα καρέ.

Πώς να μετατρέψετε το PPTX σε βίντεο

  1. Εγκαταστήστε το Aspose.Slides για C++ ακολουθώντας τις οδηγίες εδώ . Κατεβάστε το ffmpeg εδώ.

  2. Προσθήκη διαδρομής στο ffmpeg.exe στη μεταβλητή περιβάλλοντος PATH.

  3. Αντιγράψτε, επικολλήστε και, στη συνέχεια, εκτελέστε το C++ PowerPoint στον κώδικα βίντεο.

Μετατροπή PowerPoint σε βίντεο σε C++

Χρησιμοποιήστε αυτόν τον κώδικα C++ για να μετατρέψετε το PPTX σε βίντεο:

Κώδικας C++ για τη μετατροπή του PowerPoint σε βίντεο


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

Άλλες υποστηριζόμενες μετατροπές

Μπορείτε επίσης να μετατρέψετε το PowerPoint σε αρχεία σε άλλες μορφές