替换 PPT 中的视频、音频文件试试这款国产控件

339 阅读1分钟

Spire.Presentation for .NET 是专业的 PowerPoint组件,开发者可以在 .NET 平台上对 PPT文档进行生成、修改、转换和打印等操作,而无需安装 Microsoft PowerPoint。

本文介绍使用Spire.Presentation for .NET来替换PPT已插入的视频、音频文件,在替换原有视频、音频文件时,可设置替换原有视频封面、音频形状颜色等。可获取最新版测试。

C#

using Spire.Presentation;
using Spire.Presentation.Collections;
using Spire.Presentation.Drawing;
using System.Drawing;
using System.IO;

namespace ReplaceVideo
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载PPT文档
            Presentation ppt = new Presentation();
            ppt.LoadFromFile("test.pptx");

            //获取视频、音频文件集合
            VideoCollection videos = ppt.Videos;
            WavAudioCollection audios = ppt.WavAudios;

            //遍历所有幻灯片
            foreach (ISlide slide in ppt.Slides)
            {
                //遍历幻灯片中的所有形状
                foreach (Shape shape in slide.Shapes)
                {
                    //替换视频文件
                    if (shape is IVideo)
                    {
                        IVideo video = shape as IVideo;
                        byte[] bts = File.ReadAllBytes("newVideo.mp4");
                        VideoData videoData = videos.Append(bts);
                        video.EmbeddedVideoData = videoData;  
                        Image image = Image.FromFile("jds.png");//加载图片
                        IImageData coverImage = ppt.Images.Append(image);
                        video.EmbedImage = coverImage;//设置视频封面图片
                    }

                    //替换音频文件
                    if(shape is IAudio)
                    {
                        IAudio audio = shape as IAudio;
                        byte[] bts1 = File.ReadAllBytes("newAudio.mp3");
                        IAudioData audiodata = audios.Append(bts1);
                        audio.Data = audiodata;
                        audio.Fill.SolidColor.Color = Color.GreenYellow;
                    }
                }
            }

            //保存文档
            ppt.SaveToFile("result.pptx", FileFormat.Pptx2013);
            System.Diagnostics.Process.Start("result.pptx");
        }
    }
}

VB.NET

Imports Spire.Presentation
Imports Spire.Presentation.Collections
Imports Spire.Presentation.Drawing
Imports System.Drawing
Imports System.IO

Namespace ReplaceVideo
	Class Program
		Private Shared Sub Main(args As String())
			'加载PPT文档
			Dim ppt As New Presentation()
			ppt.LoadFromFile("test.pptx")

			'获取视频、音频文件集合
			Dim videos As VideoCollection = ppt.Videos
			Dim audios As WavAudioCollection = ppt.WavAudios

			'遍历所有幻灯片
			For Each slide As ISlide In ppt.Slides
				'遍历幻灯片中的所有形状
				For Each shape As Shape In slide.Shapes
					'替换视频文件
					If TypeOf shape Is IVideo Then
						Dim video As IVideo = TryCast(shape, IVideo)
						Dim bts As Byte() = File.ReadAllBytes("newVideo.mp4")
						Dim videoData As VideoData = videos.Append(bts)
						video.EmbeddedVideoData = videoData
						Dim image__1 As Image = Image.FromFile("jds.png")
						'加载图片
						Dim coverImage As IImageData = ppt.Images.Append(image__1)
							'设置视频封面图片
						video.EmbedImage = coverImage
					End If

					'替换音频文件
					If TypeOf shape Is IAudio Then
						Dim audio As IAudio = TryCast(shape, IAudio)
						Dim bts1 As Byte() = File.ReadAllBytes("newAudio.mp3")
						Dim audiodata As IAudioData = audios.Append(bts1)
						audio.Data = audiodata
						audio.Fill.SolidColor.Color = Color.GreenYellow
					End If
				Next
			Next

			'保存文档
			ppt.SaveToFile("result.pptx", FileFormat.Pptx2013)
			System.Diagnostics.Process.Start("result.pptx")
		End Sub
	End Class
End Namespace

替换效果:

国产PPT格式控件Spire.Presentation功能演示:替换 PPT 中的视频、音频文件