Incorpora video in PowerPoint usando C#

I frame video vengono utilizzati nelle presentazioni PowerPoint per dimostrare qualcosa o per attirare il pubblico. Spesso i video vengono utilizzati per risparmiare tempo e rendere le presentazioni più efficaci. In questo articolo imparerai come lavorare con i video nelle presentazioni in modo programmatico. In particolare, l’articolo tratterà come incorporare o estrarre un video in una presentazione PowerPoint usando C#.

API .NET per incorporare video in presentazioni PowerPoint

Per incorporare o estrarre video nelle presentazioni PowerPoint, utilizzeremo Aspose.Slides for .NET. L’API è progettata per creare e manipolare documenti PowerPoint e OpenOffice. Puoi installare l’API tramite NuGet o scarica la sua DLL.

PM> Install-Package Aspose.Slides.NET

Incorpora un video nella presentazione di PowerPoint usando C#

Di seguito sono riportati i passaggi per incorporare un video in una presentazione di PowerPoint usando C#.

Nell’esempio di codice seguente viene illustrato come incorporare un video in una presentazione di PowerPoint usando C#.

// Istanziare la classe di presentazione che rappresenta il PPTX
using (Presentation pres = new Presentation())
{
    // Ottieni la prima diapositiva
    ISlide sld = pres.Slides[0];

    // Aggiungi video alla presentazione
    IVideo vid = pres.Videos.AddVideo(new FileStream("Wildlife.mp4", FileMode.Open));

    // Aggiungi fotogramma video
    IVideoFrame vf = sld.Shapes.AddVideoFrame(50, 150, 300, 350, vid);

    // Assegna video a fotogramma video
    vf.EmbeddedVideo = vid;

    // Imposta la modalità di riproduzione e il volume del video
    vf.PlayMode = VideoPlayModePreset.Auto;
    vf.Volume = AudioVolumeMode.Loud;

    // Scrivi il file PPTX su disco
    pres.Save("VideoFrame_out.pptx", SaveFormat.Pptx);
}

Incorpora video in presentazioni da un’origine Web

Puoi anche incorporare un video nelle presentazioni PowerPoint da un’origine Web. Di seguito sono riportati i passaggi per raggiungere questo obiettivo.

L’esempio di codice seguente mostra come incorporare un video nella presentazione da un’origine Web.

using (Presentation pres = new Presentation())
{
    // ID video
    string videoId = "Tj75Arhq5ho";

    // Aggiungi fotogramma video
    IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId);
    videoFrame.PlayMode = VideoPlayModePreset.Auto;

    // Carica miniatura
    using (WebClient client = new WebClient())
    {
        string thumbnailUri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg";
        videoFrame.PictureFormat.Picture.Image = pres.Images.AddImage(client.DownloadData(thumbnailUri));
    }

    // Salva presentazione
    pres.Save("AddVideoFrameFromWebSource_out.pptx", SaveFormat.Pptx);
}

Estrai video da una presentazione PowerPoint in C#

Aspose.Slides per .NET consente anche di estrarre un video da una presentazione. Di seguito sono riportati i semplici passaggi per raggiungere questo obiettivo.

  • Innanzitutto, carica il file PowerPoint utilizzando la classe Presentazione.
  • Quindi, scorrere ogni ISlide nella raccolta Presentation.Slides.
  • Per ogni oggetto ISlide, scorrere la raccolta di IShape in esso.
  • Se IShape è un VideoFrame, estrai e salva il video incorporato.

L’esempio di codice seguente mostra come estrarre video da una presentazione di PowerPoint usando C#.

// Carica un file di presentazione 
Presentation presentation = new Presentation("Video.pptx");

// Scorri le diapositive nella presentazione
foreach (ISlide slide in presentation.Slides)
{
    // Passa attraverso le forme
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        if (shape is VideoFrame)
        {
            // Estrai e salva video
            IVideoFrame vf = shape as IVideoFrame;
            String type = vf.EmbeddedVideo.ContentType;
            int ss = type.LastIndexOf('/');
            type = type.Remove(0, type.LastIndexOf('/') + 1);
            Byte[] buffer = vf.EmbeddedVideo.BinaryData;
            using (FileStream stream = new FileStream("NewVideo_out." + type, FileMode.Create, FileAccess.Write, FileShare.Read))
            {                                                     
                stream.Write(buffer, 0, buffer.Length);
            }
        }
    }
}

Ottieni una licenza API gratuita

Puoi utilizzare Aspose.Slides per .NET senza limitazioni di valutazione richiedendo una licenza temporanea.

Conclusione

In questo articolo hai imparato come incorporare video nelle presentazioni di PowerPoint usando C#. Inoltre, hai visto come estrarre i video da una presentazione in modo programmatico. Oltre a questo, puoi visitare la documentazione per esplorare di più su Aspose.Slides per .NET. Inoltre, puoi inviare le tue domande al nostro forum.

Guarda anche