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

简介: 如今,Microsoft Office PowerPoint在我们日常生活中的应用已经很广泛了,利用Microsoft Office 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

 

 

目录
相关文章
|
12天前
|
Java 物联网 C#
C#/.NET/.NET Core学习路线集合,学习不迷路!
C#/.NET/.NET Core学习路线集合,学习不迷路!
|
15天前
|
Java 物联网 编译器
C#一分钟浅谈:.NET Core 与 .NET 5 区别
本文对比了 .NET Core 和 .NET 5,从历史背景、主要区别、常见问题及易错点等方面进行了详细分析。.NET Core 侧重跨平台支持和高性能,而 .NET 5 在此基础上统一了 .NET 生态系统,增加了更多新特性和优化。开发者可根据具体需求选择合适的版本。
39 7
|
12天前
|
人工智能 开发框架 前端开发
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
|
12天前
|
开发框架 网络协议 .NET
C#/.NET/.NET Core优秀项目和框架2024年10月简报
C#/.NET/.NET Core优秀项目和框架2024年10月简报
|
24天前
|
XML C# 开发工具
C# 删除Word文档中的段落
【11月更文挑战第3天】本文介绍了两种方法来操作 Word 文档:一是使用 `Microsoft.Office.Interop.Word` 库,适用于 Windows 环境下操作 Word 文档,需引用相应库并在代码中引入命名空间;二是使用 Open XML SDK,适用于处理 .docx 格式的文档,通过引用 `DocumentFormat.OpenXml` 库实现。文中提供了示例代码,展示了如何打开、删除段落并保存文档。
|
11天前
|
人工智能 开发框架 安全
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
|
12天前
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
|
12天前
|
程序员 C# 图形学
全面的C#/.NET自学入门指南
全面的C#/.NET自学入门指南
|
12天前
|
API C#
在.NET中使用QuestPDF高效地生成PDF文档
在.NET中使用QuestPDF高效地生成PDF文档
|
1月前
|
JSON C# 开发者
C#语言新特性深度剖析:提升你的.NET开发效率
【10月更文挑战第15天】C#语言凭借其强大的功能和易用性深受开发者喜爱。随着.NET平台的演进,C#不断引入新特性,如C# 7.0的模式匹配和C# 8.0的异步流,显著提升了开发效率和代码可维护性。本文将深入探讨这些新特性,助力开发者在.NET开发中更高效地利用它们。
36 1