提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:胡涛|2023-06-15 10:36:28.767|阅读 251 次
概述:在本文中,我们打算引导您完成以编程方式执行PPT到MP4转换任务的操作,欢迎查阅~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Aspose.Slides 是一款 PowerPoint管理API,用于读取,编写,操作和转换PowerPoint幻灯片的独立API,可将PowerPoint转换为PDF,PDF/A,XPS,TIFF,HTML,ODP和其他PowerPoint格式。
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
从 PowerPoint 演示文稿派生的视频在展示数据可视化和营销产品方面非常有效。它还非常擅长向广泛的受众群体传递不同类型的信息。鉴于与标准演示文稿相比与真实视频播放相关的好处,在许多情况下将 PPT 转换为视频是有意义的。
在本文中,我们打算引导您完成以编程方式执行PPT到MP4转换任务的操作。请参阅下面的C# 中如何将 PPT 转换为视频。
视频由帧组成,因此 PowerPoint 到视频的转换过程需要您做两件事:
根据演示幻灯片生成一组帧。Aspose.Slides for .NET在这里派上用场。要安装Aspose.Slides for .NET,请下载软件
根据生成的帧创建视频。这就是 ffmpeg(和 .NET 的 ffmpeg 核心)的用武之地——下载 ffmpeg 。
信息: Aspose 提供免费的PowerPoint 到视频转换器,允许将 PowerPoint 演示文稿转换为视频。您可能希望看到此转换器,因为它是此处流程的实时实现。
通过以下方式将 Aspose.Slides for .NET 和 FFMpegCore 添加到您的项目中dotnet add package command:
以这种方式指定您之前获得的 ffmpeg 的路径(例如,您将其解压缩到“C:\tools\ffmpeg”):GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );
运行将 PowerPoint 转换为视频的代码:
using System.Collections.Generic; using Aspose.Slides; using FFMpegCore; // Will use FFmpeg binaries we extracted to "c:\tools\ffmpeg" before using Aspose.Slides.Animation; using (Presentation presentation = new Presentation()) { // Adds a smile shape and then animates it IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; const int Fps = 33; List<string> frames = new List<string>(); using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) { player.FrameTick += (sender, args) => { string frame = $"frame_{(sender.FrameIndex):D4}.png"; args.GetFrame().Save(frame); frames.Add(frame); }; animationsGenerator.Run(presentation.Slides); } // Configure ffmpeg binaries folder. See this page: //github.com/rosenbjerg/FFMpegCore#installation GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); // Converts frames to webm video FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); }
包含过渡和动画的演示文稿通常比没有这些效果的演示文稿更具吸引力和趣味性。同样的原则也适用于视频——简单地快速连续滑动的视频有时不会被剪掉。
Aspose.Slides 支持常见的过渡和动画,因此您可以在视频中应用和使用这些效果。假设我们继续使用上一节中的代码,我们可以通过这种方式进行另一张幻灯片和一个过渡:
// Adds a smile shape and animates it // ... // Adds a new slide and animated transition ISlide newSlide = presentation.Slides.AddEmptySlide(presentation.Slides[0].LayoutSlide); newSlide.Background.Type = BackgroundType.OwnBackground; newSlide.Background.FillFormat.FillType = FillType.Solid; newSlide.Background.FillFormat.SolidFillColor.Color = Color.Indigo; newSlide.SlideShowTransition.Type = TransitionType.Push; 除了幻灯片动画,Aspose.Slides 还允许您为文本添加动画。这样,您就可以为对象上的段落设置动画,使它们一个接一个地出现(例如,将延迟设置为一秒): using System.Collections.Generic; using Aspose.Slides.Export; using Aspose.Slides; using FFMpegCore; using Aspose.Slides.Animation; using (Presentation presentation = new Presentation()) { // Adds text and animations IAutoShape autoShape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); Paragraph para1 = new Paragraph(); para1.Portions.Add(new Portion("Aspose Slides for .NET")); Paragraph para2 = new Paragraph(); para2.Portions.Add(new Portion("convert PowerPoint Presentation with text to video")); Paragraph para3 = new Paragraph(); para3.Portions.Add(new Portion("paragraph by paragraph")); autoShape.TextFrame.Paragraphs.Add(para1); autoShape.TextFrame.Paragraphs.Add(para2); autoShape.TextFrame.Paragraphs.Add(para3); autoShape.TextFrame.Paragraphs.Add(new Paragraph()); IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); IEffect effect2 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); IEffect effect3 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); IEffect effect4 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); effect.Timing.TriggerDelayTime = 1f; effect2.Timing.TriggerDelayTime = 1f; effect3.Timing.TriggerDelayTime = 1f; effect4.Timing.TriggerDelayTime = 1f; // Converts frames to video const int Fps = 33; List<string> frames = new List<string>(); using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) { player.FrameTick += (sender, args) => { string frame = $"frame_{(sender.FrameIndex):D4}.png"; args.GetFrame().Save(frame); frames.Add(frame); }; animationsGenerator.Run(presentation.Slides); } // Configure ffmpeg binaries folder. See this page: //github.com/rosenbjerg/FFMpegCore#installation GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); // Converts frames to webm video FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); }
以上便是如何在C#中将PPT转换为视频 ,如您还有关于产品相关方面的疑问,可以继续浏览本系列其他内容,也欢迎您加入我们的交流群发表您遇到的问题。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文将探讨如何使用 Spire.XLS for .NET 在 C# 程序中导入 Excel 数据到数据库以及导出数据库到 Excel 文件,实现数据在 Excel 和数据库之间无缝流转。
在本文中,我们将向您展示如何逐步执行此操作,告诉您什么是 SCORM,为什么需要使用它,并列出我们测试过的最佳 SCORM 转换工具之一——iSpring Suite。
本文主要介绍如何使用Kendo UI for Angular组件的ListView来构建带有图表的仪表板,欢迎下载新版控件体验!
在本文中,您将学习如何使用Spire.PDF for .NET在 C# 中向 PDF 文档添加页码。
专业的电子表格控件,无需MS Excel也可满足一切Excel表格功能。
Aspose.Words for .NET无需Microsoft Word也可在任何平台上满足Word文档的一切操作需求。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢