前言:最近由于项目需求,需要将ppt的背景色和字体色统一设置成一种颜色(详细需求不再赘述)、PPT转图片,通过这几天的查资料和怼微软的API总结如下。本文主要总结C#使用office组件操作office全家桶。

1.操作PPT(设置PPT的背景色为白色【需要注意渐进色】,字体色为黑色)
(1)需要添加的引用:
(2)代码 - 代码中的注解很详细,不再赘述
Microsoft.Office.Interop.PowerPoint.Application pptApp;//PPT应用程序变量
Microsoft.Office.Interop.PowerPoint.Presentation pptDoc;//PPT文档变量
pptApp = new Microsoft.Office.Interop.PowerPoint.Application();//初始化
pptDoc = pptApp.Presentations.Open(pptPath, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse);//打开PPT
int size = pptDoc.Slides.Count;//ppt的幻灯片数量
int i = 0;
foreach (Microsoft.Office.Interop.PowerPoint.Slide slide in pptDoc.Slides)
{
    slide.FollowMasterBackground = MsoTriState.msoFalse;//不采用模板的背景色
    slide.Background.BlackWhiteMode = MsoBlackWhiteMode.msoBlackWhiteAutomatic;//设置背景色为黑白模式
    slide.Background.Fill.OneColorGradient(MsoGradientStyle.msoGradientHorizontal, 1, 1.0f);//去掉渐进色(只采用黑白模式无法去除渐进色)
    slide.Background.Fill.ForeColor.RGB = System.Drawing.ColorTranslator.ToWin32(System.Drawing.Color.FromArgb(255, 255, 255));//设置前景色为白色
    slide.Background.Fill.BackColor.RGB = System.Drawing.ColorTranslator.ToWin32(System.Drawing.Color.FromArgb(255, 255, 255));//设置背景色为白色
    //遍历每个幻灯片的方块
    foreach (Microsoft.Office.Interop.PowerPoint.Shape shape in slide.Shapes)
    {
        shape.BlackWhiteMode = MsoBlackWhiteMode.msoBlackWhiteAutomatic;
        if (shape.TextFrame.HasText == MsoTriState.msoTrue)//判断方块是否有字体,如果没有不设置,不然报异常
        {
            if (shape.TextFrame.TextRange != null)
            {
                if (shape.TextFrame.TextRange.Text != null)
                {
                    if (shape.TextFrame.TextRange.Text != "")
                    {
                        shape.TextFrame.TextRange.Font.Color.RGB = System.Drawing.ColorTranslator.ToWin32(System.Drawing.Color.FromArgb(0, 0, 0));//设置字体为黑色
                    }
                }
            }
        }
    }
}
//WdSaveFormat为PPT文档的保存格式
Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType format = Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsDefault;
//保存(另存为)
pptDoc.SaveAs(pptSavePath, format, Microsoft.Office.Core.MsoTriState.msoFalse);
//关闭excelDoc文档对象
pptDoc.Close();
//关闭excelApp组件对象
pptApp.Quit();
2.PPT转图片
string imgPath = "";
int width = 0;
int height = 0;
String imgType = "png";
String baseName = "test";
Microsoft.Office.Interop.PowerPoint.Application pptApp;//PPT应用程序变量
Microsoft.Office.Interop.PowerPoint.Presentation pptDoc;//PPT文档变量
pptApp = new Microsoft.Office.Interop.PowerPoint.Application();//初始化
pptDoc = pptApp.Presentations.Open(pptPath, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse);
int size = pptDoc.Slides.Count;
int i = 0;
foreach (Microsoft.Office.Interop.PowerPoint.Slide slide in pptDoc.Slides)
{
    String outName = String.Format(@"{0}{1}_slide{2}.{3}", imgPath, baseName, i++, imgType);
    try
    {
        slide.Export(outName, imgType, width, height);//导出图片
    }
    catch (Exception ex)
    {
    }
}
//WdSaveFormat为PPT文档的保存格式
Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType format = Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsDefault;
//保存
pptDoc.SaveAs(pptSavePath, format, Microsoft.Office.Core.MsoTriState.msoFalse);
//关闭excelDoc文档对象
pptDoc.Close();
//关闭excelApp组件对象
pptApp.Quit();

c# 操作ppt 设置背景色、字体颜色、PPT转图片相关推荐

  1. jxl操作excel(合并单元格,设置背景色,字体颜色)

    现在正在做的项目中涉及大量的Excel文件导出导入操作,都是使用Java Excel来操作. Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Exce ...

  2. phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护

    转载连接:http://www.cnblogs.com/huangcong/p/3687665.html phpexcel中文教程-设置表格字体颜色背景样式.数据格式.对齐方式.添加图片.批注.文字块 ...

  3. android notification设置不同字体颜色,Android Notification自定义通知样式你要知道的事...

    本文将根据个人经验对Notification做个总结,以供参考! 什么是通知(Notification) 通知是一个可以在应用程序正常的用户界面之外显示给用户的消息. 通知发出时,它首先出现在状态栏的 ...

  4. 设置WebView字体颜色,背景颜色

    上次总结了一下WebView更改字体大小的帖子,这次在加点料,索性把webView的字体颜色和背景颜色都设置一下.   现在的App大多数支持日夜间模式的切换,对于新闻阅读类的App,更改WebVie ...

  5. css中设置body字体,css如何设置body字体颜色

    在css可以使用color属性设置body字体颜色,只需要给body元素设置"color:颜色值"样式即可.color 属性规定文本的颜色.该属性设置了一个元素的前景色,这个颜色还 ...

  6. html修改链接文字颜色,html设置超链接字体颜色 html超链接的字体颜色怎么改

    html链接文字颜色怎么设置 定义a标签的css属性即可. 例如:文字颜色 在css中写上a{color: #000;} (#号后面是颜色值) 如果单独定义一条a标签,可以先找前面的div,写a样式的 ...

  7. Typora设置修改字体颜色快捷键

    目录 1.typora如何设置修改字体颜色快捷键 2. AutoHotKey软件安装 3.typora关于AutoHotKey的具体操作 1.typora如何设置修改字体颜色快捷键 typora本身是 ...

  8. pycharm2017设置注释字体颜色

    pycharm 设置注释字体颜色 File-->Settings-->Editor--> Color Scheme-->Language Defaults-->Line ...

  9. android html 换行_android TextView怎么设置个别字体颜色并换行?

    展开全部 1.TextView 设置个别字体636f707962616964757a686964616f31333337613233颜色TextView tv=(TextView)findViewBy ...

  10. php文字红色代码,IOS_IOS中一段文字设置多种字体颜色代码,给定range和需要设置的颜色, - phpStudy...

    IOS中一段文字设置多种字体颜色代码 给定range和需要设置的颜色,就可以给一段文字设置多种不同的字体颜色,使用方法如下: [self fuwenbenLabel:contentLabel Font ...

最新文章

  1. 隐藏tabwidgt 用radiogroup来实现tab的切换
  2. ibm oracle 应用程序 编排_IBM使用Kubernetes将云扩展到本地
  3. flink sql udf jar包_flink教程flink 1.11 集成zeppelin实现简易实时计算平台
  4. 5 可隐藏的侧栏_6种隐藏式设计,不仅实用,而且更显高级!
  5. couchbase集群_使用CLI扩展和重新平衡Couchbase集群
  6. Ubuntu 14.04 或者16.04开启root账户登录和图形界面登录root时候的报错解决方法
  7. 【免费毕设】ASP.NET通用作业批改系统设计(源代码+lunwen)
  8. python用什么来写模块-用cython来写python的c模块
  9. 不使用服务器控件的ASP.NET
  10. 用css实现了一个精致的纵向导航菜单
  11. java取窗口句柄_如何获取Java中的所有窗口句柄列表(使用JNA)?
  12. 大数据方面核心技术有哪些
  13. 12306html布局,12306更新验证码
  14. opengl 多边形线框_OpenGL - 在纹理多边形上创建边框
  15. 微信小程序 收藏功能实现
  16. 计算机视觉算法与应用 英文pdf,计算机视觉:算法与应用(套装共2册) [Computer Vision:Algorithms and Applications]...
  17. 一个简单的问卷调查管理系统
  18. Java基础学习第九节——继承、重写
  19. office 365 ppt创意方法(拆字动画)
  20. 基于51单片机的简易花样流水灯3(原理图+程序+仿真)

热门文章

  1. 微信支付 发起商家转账API 2022年v3 transfer batches
  2. c语言fprintf 数组,C语言fprintf()函数:格式化输出到一个流中
  3. wps表格 做折线图
  4. Github上最热门的Java开源项目
  5. 【算法】泽勒的一致性
  6. 主流漫游技术-OKC802.11r介绍
  7. 金蝶kis商贸版系统服务器,上海金蝶kis商贸版软件系统
  8. C语言打印菱形和空心菱形
  9. 【CCF】小中大(C++)
  10. 全年营业额怎么计算_产值是怎么计算的(GDP年产值是营业收入吗)