当前位置:编程学习 > C#/ASP.NET >>

如何在ASP.NET中把ppt格式转换为html格式

如何在ASP.NET中把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了。
--------------------编程问答-------------------- 还真没见过。。。关注 --------------------编程问答-------------------- 学习… --------------------编程问答-------------------- pptFile = ppt.Presentations.Open(pptFileName, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoCTrue, Microsoft.Office.Core.MsoTriState.msoFalse);
        pptFile.SaveAs(_HtmlFileName, Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsHTML, Microsoft.Office.Core.MsoTriState.msoCTrue);
        pptFile.Close();
这是我自己用的代码,跟一楼的差不多样,但是转换出来的html打开显示的内容不对,它显示的是网页的源码样,还提示有浏览器不能显示的内容,这是咋回事啊?希望楼上的高手们能帮帮忙给解决哈,不甚感激啊。 --------------------编程问答-------------------- 谢谢上面的高手了,问题解决了,原来我自己在保存格式的时候保存为mht格式了,改为html就好了,再问哈可不可以转换为mht呢?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,