我正在使用以下代码将PowerPoint演示文稿(.ppt
)转换为.wmv
视频文件:
static void Main(string[] args)
{
string fileName = @"D:\example1.pptx";
string exportName = "video_of_presentation";
string exportPath = @"D:\{0}.wmv";
Microsoft.Office.Interop.PowerPoint.Application ppApp = new Microsoft.Office.Interop.PowerPoint.Application();
ppApp.Visible = MsoTriState.msoTrue;
ppApp.WindowState = PpWindowState.ppWindowMinimized;
Microsoft.Office.Interop.PowerPoint.Presentations oPresSet = ppApp.Presentations;
Microsoft.Office.Interop.PowerPoint._Presentation oPres = oPresSet.Open(
fileName,
MsoTriState.msoFalse,
MsoTriState.msoFalse,
MsoTriState.msoFalse);
try
{
oPres.CreateVideo(exportName);
oPres.SaveCopyAs(String.Format(exportPath, exportName),
PowerPoint.PpSaveAsFileType.ppSaveAsWMV,
MsoTriState.msoCTrue);
}
finally
{
ppApp.Quit();
}
}
它的工作很棒。现在,我尝试将此演示文稿中的单个幻灯片转换为视频文件。我试着用这个:
var i = 0;
foreach (var slide in oPres.Slides)
{
slide.CreateVideo(string.Format("slide{0}", i));
i++;
}
但幻灯片似乎没有CreateVideo
方法。
我认为我需要在每次迭代时创建一个新的演示文稿并添加幻灯片,但我无法理解如何将演示文稿中的幻灯片添加到新的演示文稿中。
我试过这段代码:
Presentation singleSlidePpt = ppApp.Presentations.Add(MsoTriState.msoTrue);
singleSlidePpt.Slides.Add(oPres.Slides[0], CustomLayout);
有任何建议如何解决这个问题?
答案 0 :(得分:2)
将演示文稿保存为新名称,然后删除 DON' T 所需的所有幻灯片。
请务必按相反顺序执行,否则您将得到错误的结果。
答案 1 :(得分:-1)
如果您想将PPT转换为视频,PowerPoint本身就具有此功能"创建视频"。
但我不知道它是否可以直接转换为.wmv
视频。如果没有,你可以在PPT转换成视频后使用转换器,虽然这似乎不是最简单的方法。