C#/VB.NET 向PowerPoint文档插入视频

如今,Microsoft Office PowerPoint在我们日常生活中的应用已经很广泛了,利用Microsoft Office PowerPoint不仅可以创建演示文稿,还可以在互联网上召开面对面会议、远程会议或在网上给观众展示演示文稿等。那么,怎样做出有趣、生动、美观的PowerPoint文档呢?其中一个很好的选择就是向文档中插入视频。这样可以使读者更好地理解文档的内容,增加读者的兴趣。那么开发者如何通过编程的方式来实现这一功能呢?本文将给大家分享如何使用免费版PowerPoint组件—Spire.Presentation以C#/VB.NET编程的方式来向PPT文档插入视频。

Spire.Presentation简介

Spire.Presentation for .NET是一款专业的PowerPoint兼容组件,使开发人员能够在.NET平台(C#,VB.NET,ASP.NET)上创建,读,写,修改,转换和打印PowerPoint文档,并且不需要安装Microsoft PowerPoint软件。Spire.Presentation for .NET 支持的格式有PPT,PPS,PPTX及PPSX。它提供了很多实用的功能,如管理文本,图像,形状,表格,动画,音频和视频等。此外,它还支持将幻灯片导出为EMF,JPG,TIFF,PDF等格式。

有需要的朋友可以从E-iceblue官网下载安装。

下面是详细步骤:

注意:在创建项目后,添加相关.dll文件作为项目引用。

代码片段:

步骤1:新建一个PPT文档。

Presentation presentation = new Presentation();

步骤2:使用presentation.Slides[0].Shapes.AppendVideoMedia()方法来插入视频。

presentation.Slides[0].Shapes.AppendVideoMedia(@"小毛驴.mp4", new RectangleF(100, 100, 20, 20));  //用户可以根据自己的需要来设置参数的大小

步骤3:添加形状来展示文本并保存PPT文档。

IAutoShape shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(50, 150, 600, 250));  //用户可以根据自己的需要来设置参数的大小

presentation.SaveToFile("video.pptx", FileFormat.Pptx2010);

 

效果图:

                       

 

全部代码:

C#:

using System.Drawing;

using System.IO;

using Spire.Presentation;

using Spire.Presentation.Drawing;

namespace InsertVideo

{

    class Program

    {

        static void Main(string[] args)

        {

            Presentation presentation = new Presentation();

 

            //设置背景图片

            string ImageFile = @"花朵.jpg";

            RectangleF rect = new RectangleF(0, 0, presentation.SlideSize.Size.Width, presentation.SlideSize.Size.Height);

            presentation.Slides[0].Shapes.AppendEmbedImage(ShapeType.Rectangle, ImageFile, rect);

            presentation.Slides[0].Shapes[0].Line.FillFormat.SolidFillColor.Color = Color.FloralWhite;

 

            presentation.Slides[0].Shapes.AppendVideoMedia(@"小毛驴.mp4", new RectangleF(100, 100, 20, 20));

 

            IAutoShape shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(50, 150, 600, 250));

            shape.ShapeStyle.LineColor.Color = Color.White;

            shape.Fill.FillType = Spire.Presentation.Drawing.FillFormatType.None;

            shape.AppendTextFrame("我有一只小毛驴我从来也不骑,有一天我心血来潮骑着去赶集,");

 

            shape.TextFrame.Paragraphs.Append(new TextParagraph());

            shape.TextFrame.Paragraphs[1].TextRanges.Append(new TextRange("我手里拿着小皮鞭我心里正得意,不知怎么哗啦啦啦我摔了一身泥。"));

            foreach (TextParagraph para in shape.TextFrame.Paragraphs)

            {

                para.TextRanges[0].LatinFont = new TextFont("Arial Rounded MT Bold");

                para.TextRanges[0].Fill.FillType = FillFormatType.Solid;

                para.TextRanges[0].Fill.SolidColor.Color = Color.Black;

                para.Alignment = TextAlignmentType.Left;

                para.Indent = 35;

            }

 

            presentation.SaveToFile("video.pptx", FileFormat.Pptx2010);

            System.Diagnostics.Process.Start("video.pptx");

        }

    }

}

VB.NET:

Imports System.Drawing
Imports System.IO
Imports Spire.Presentation
Imports Spire.Presentation.Drawing
Module Module1
 
    Sub Main()
        Dim presentation As New Presentation()
 
        '设置背景图片
        Dim ImageFile As String = "花朵.jpg"
        Dim rect As New RectangleF(0, 0, presentation.SlideSize.Size.Width, presentation.SlideSize.Size.Height)
        presentation.Slides(0).Shapes.AppendEmbedImage(ShapeType.Rectangle, ImageFile, rect)
        presentation.Slides(0).Shapes(0).Line.FillFormat.SolidFillColor.Color = Color.FloralWhite
 
        presentation.Slides(0).Shapes.AppendVideoMedia("小毛驴.mp4", New RectangleF(100, 100, 20, 20))
 
        Dim shape As IAutoShape = presentation.Slides(0).Shapes.AppendShape(ShapeType.Rectangle, New RectangleF(50, 150, 600, 250))
        shape.ShapeStyle.LineColor.Color = Color.White
        shape.Fill.FillType = Spire.Presentation.Drawing.FillFormatType.None
        shape.AppendTextFrame("我有一只小毛驴我从来也不骑,有一天我心血来潮骑着去赶集,")
 
        shape.TextFrame.Paragraphs.Append(New TextParagraph())
        shape.TextFrame.Paragraphs(1).TextRanges.Append(New TextRange("我手里拿着小皮鞭我心里正得意,不知怎么哗啦啦啦我摔了一身泥。"))
        For Each para As TextParagraph In shape.TextFrame.Paragraphs
            para.TextRanges(0).LatinFont = New TextFont("Arial Rounded MT Bold")
            para.TextRanges(0).Fill.FillType = FillFormatType.Solid
            para.TextRanges(0).Fill.SolidColor.Color = Color.Black
            para.Alignment = TextAlignmentType.Left
            para.Indent = 35
        Next
 
        presentation.SaveToFile("video.pptx", FileFormat.Pptx2010)
        System.Diagnostics.Process.Start("video.pptx")
    End Sub
 
End Module

 

 

posted @ 2015-12-01 10:51  E-iceblue  阅读(880)  评论(0编辑  收藏  举报