您的位置:首页 > Web前端 > HTML

c# 将PPT 转换成 HTML

2015-04-27 16:54 197 查看
今天写了一个小程序,就是将ppt转换成html,怕以后忘记,在此记录一下,也和大家分享

源码如下:

using System;

using System.Collections.Generic;

using System.Text;

using System.IO;

using PPT = Microsoft.Office.Interop.PowerPoint;

using System.Reflection;

namespace WritePptDemo

{

class Program

{

static void Main(string[] args)

{

string path; //文件路径变量

PPT.Application pptApp; //Excel应用程序变量

PPT.Presentation pptDoc; //Excel文档变量

PPT.Presentation pptDoctmp;

path = @"C:\MyPPT.ppt"; //路径

pptApp = new PPT.ApplicationClass(); //初始化

//如果已存在,则删除

if (File.Exists((string)path))

{

File.Delete((string)path);

}

//由于使用的是COM库,因此有许多变量需要用Nothing代替

Object Nothing = Missing.Value;

pptDoc = pptApp.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoFalse);

pptDoc.Slides.Add(1, Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutText);

string text = "示例文本";

foreach (PPT.Slide slide in pptDoc.Slides)

{

foreach (PPT.Shape shape in slide.Shapes)

{

shape.TextFrame.TextRange.InsertAfter(text);

}

}

//WdSaveFormat为Excel文档的保存格式

PPT.PpSaveAsFileType format = PPT.PpSaveAsFileType.ppSaveAsDefault;

//将excelDoc文档对象的内容保存为XLSX文档

pptDoc.SaveAs(path, format, Microsoft.Office.Core.MsoTriState.msoFalse);

//关闭excelDoc文档对象

pptDoc.Close();

//关闭excelApp组件对象

pptApp.Quit();

Console.WriteLine(path + " 创建完毕!");

Console.ReadLine();

string pathHtml = @"c:\MyPPT.html";

PPT.Application pa = new PPT.ApplicationClass();

pptDoctmp = pa.Presentations.Open(path, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);

PPT.PpSaveAsFileType formatTmp = PPT.PpSaveAsFileType.ppSaveAsHTML;

pptDoctmp.SaveAs(pathHtml, formatTmp, Microsoft.Office.Core.MsoTriState.msoFalse);

pptDoctmp.Close();

pa.Quit();

Console.WriteLine(pathHtml + " 创建完毕!");

}

}

}

以上程序是使用C# 先创建一个ppt 文件并向里面写入了文字,然后再把此ppt 转换成html ,对于上面程序需要说明的其实就是

引用 dll的问题, 在项目中添加引用,在com 组件中选择 microsoft powerpoint 11.0 object library ,而如果你的电脑没有安装 office 2003 是不会有这个的,而如果安装的是office 2007 则是microsoft powerpoint 12.0 object library。而且即使你引用成功后,还是会编译不通过,是因为少安装了 office PIA ,在安装office 时,如果你是选择的典型安装是不会安装这个的,因为这个只针对开发人员才会用到。可以到网上下载一个
office PIA 安装下就ok了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: