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