Vložení videa do PowerPointu pomocí C#

Videorámce se v prezentacích v PowerPointu používají k předvedení něčeho nebo k přilákání publika. Videa se často používají k úspoře času a zefektivnění prezentací. V tomto článku se dozvíte, jak programově pracovat s videi v prezentacích. Konkrétně se tento článek bude zabývat tím, jak vložit nebo extrahovat video do prezentace PowerPoint pomocí C#.

.NET API pro vkládání videa do PowerPointových prezentací

Abychom mohli vložit nebo extrahovat videa do prezentací PowerPoint, použijeme Aspose.Slides for .NET. API je navrženo pro vytváření a manipulaci s dokumenty PowerPoint a OpenOffice. API můžete nainstalovat buď přes NuGet nebo stáhnout jeho DLL.

PM> Install-Package Aspose.Slides.NET

Vložení videa do prezentace PowerPoint pomocí C#

Níže jsou uvedeny kroky pro vložení videa do prezentace PowerPoint pomocí C#.

Následující ukázka kódu ukazuje, jak vložit video do prezentace PowerPoint pomocí C#.

// Třída okamžité prezentace, která představuje PPTX
using (Presentation pres = new Presentation())
{
    // Získejte první snímek
    ISlide sld = pres.Slides[0];

    // Přidat video do prezentace
    IVideo vid = pres.Videos.AddVideo(new FileStream("Wildlife.mp4", FileMode.Open));

    // Přidat rámeček videa
    IVideoFrame vf = sld.Shapes.AddVideoFrame(50, 150, 300, 350, vid);

    // Přiřazení videa ke snímku videa
    vf.EmbeddedVideo = vid;

    // Nastavte režim přehrávání a hlasitost videa
    vf.PlayMode = VideoPlayModePreset.Auto;
    vf.Volume = AudioVolumeMode.Loud;

    // Zapište soubor PPTX na disk
    pres.Save("VideoFrame_out.pptx", SaveFormat.Pptx);
}

Vkládání videa do prezentací z webového zdroje

Do prezentací PowerPoint můžete také vložit video z webového zdroje. Níže jsou uvedeny kroky, jak toho dosáhnout.

Následující ukázka kódu ukazuje, jak vložit video do prezentace z webového zdroje.

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

    // Přidat rámeček videa
    IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId);
    videoFrame.PlayMode = VideoPlayModePreset.Auto;

    // Načíst miniaturu
    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));
    }

    // Uložit prezentaci
    pres.Save("AddVideoFrameFromWebSource_out.pptx", SaveFormat.Pptx);
}

Extrahujte video z powerpointové prezentace v C#

Aspose.Slides for .NET také umožňuje extrahovat video z prezentace. Níže jsou uvedeny jednoduché kroky, jak toho dosáhnout.

Následující ukázka kódu ukazuje, jak extrahovat videa z prezentace PowerPoint pomocí C#.

// Načtěte soubor prezentace 
Presentation presentation = new Presentation("Video.pptx");

// Procházejte snímky v prezentaci
foreach (ISlide slide in presentation.Slides)
{
    // Procházejte tvary
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        if (shape is VideoFrame)
        {
            // Extrahujte a uložte 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);
            }
        }
    }
}

Získejte bezplatnou licenci API

Aspose.Slides for .NET můžete používat bez omezení hodnocení, pokud si vyžádáte dočasnou licenci.

Závěr

V tomto článku jste se naučili vkládat videa do prezentací PowerPoint pomocí C#. Navíc jste viděli, jak programově extrahovat videa z prezentace. Kromě toho můžete navštívit dokumentaci a prozkoumat více o Aspose.Slides for .NET. Také můžete své dotazy posílat na naše fórum.

Viz také