Logo

C#操作PPT 文本、图片、动画

photo

2024年06月06日

参考:https://blog.csdn.net/badaaasss/article/details/89188807    C#生成PPT

      https://docs.microsoft.com/zh-cn/office/vba/api/powerpoint.animationsettings   msdn 动画处理

C#操作PPT 文本、图片、动画,代码如下:(使用Microsoft.Office.Interop.PowerPoint库)

using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using Microsoft.Office.Core;
using Microsoft.Office;
using Microsoft.Office.Interop.PowerPoint;
namespace PPTConApp
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建PPT应用
            Microsoft.Office.Interop.PowerPoint.Application PPT = new Microsoft.Office.Interop.PowerPoint.Application();
            Microsoft.Office.Interop.PowerPoint.Presentation MyPres = null;//PPT应用的实例
            Microsoft.Office.Interop.PowerPoint.Slide MySlide = null;//PPT中的幻灯片
            //此处将一个PPT实例给了MyPres
            MyPres = PPT.Presentations.Open("D:\\Download\\2.pptx", MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoTrue);
            //像PPT实例中,添加一个空白页,位置是“第一页”
            MySlide = MyPres.Slides.Add(1, Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutBlank);
            
            //1、添加图形(矩形)
            MySlide.Shapes.AddShape(MsoAutoShapeType.msoShapeRectangle, 8.5F, 6.5F, 705F, 525F);
            MySlide.Shapes[1].Line.ForeColor.RGB = 150 + 20 * 256 + 30 * 256 * 256;//改变线条颜色
            MySlide.Shapes[1].Fill.Transparency = 1;//控制填充色为透明
            MySlide.Shapes[1].Line.Style = MsoLineStyle.msoLineSingle;//改变线型里的复合类型
            MySlide.Shapes[1].Line.Weight = 1F;//改变线粗细
            MySlide.Shapes[1].Shadow.Style = MsoShadowStyle.msoShadowStyleOuterShadow;//控制阴影类型
            MySlide.Shapes[1].Shadow.ForeColor.RGB = 0;//控制阴影颜色
            MySlide.Shapes[1].Shadow.Transparency = 0.6F;//控制透明度
            MySlide.Shapes[1].Shadow.Size = 100F;//控制大小
            MySlide.Shapes[1].Shadow.Blur = 4F;//控制虚化
            MySlide.Shapes[1].Shadow.OffsetX = 2.1F;//控制距离;
            MySlide.Shapes[1].Shadow.OffsetY = 2.1F;//与offsetX共同决定角度
            //2、添加图片
            MySlide.Shapes.AddPicture(@"D:\workspace\workdotnet\2020TechSearch\reveal-ppt\images\zsylogo.png", MsoTriState.msoFalse, MsoTriState.msoTrue, 27F, 24F, 665F, 333F);
            //3、添加文本框
            Microsoft.Office.Interop.PowerPoint.TextRange MyTextRng = null;
            MySlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 721.5F, 365F, 670F, 270F);
            MyTextRng = MySlide.Shapes[3].TextFrame.TextRange;//请注意此处Shapes的索引,由于文本框是第一个添加的Shapes,所以此处索引是1。
            MyTextRng.Font.NameFarEast = "微软雅黑";//文本框中,中文的字体                   
            MyTextRng.Font.NameAscii = "Calibri";//文本框中,英文和数字的字体      
            MyTextRng.Text = "C#生成PPT";//显示的内容
            MyTextRng.Font.Bold = MsoTriState.msoTrue;//是否加粗
            MyTextRng.Font.Color.RGB = 1 + 2 * 256 + 3 * 256 * 256;//字体颜色,其中ABC直接用自定义颜色中的数字代替即可。
            MyTextRng.Characters(1, 10).Font.Size = 24;//个性化设计。第1个字符开始,长度为10的字符,字体大小是24.
            MyTextRng.ParagraphFormat.Alignment = Microsoft.Office.Interop.PowerPoint.PpParagraphAlignment.ppAlignLeft;//文本对齐方式(水平方向)
            MySlide.Shapes[3].TextFrame.VerticalAnchor = MsoVerticalAnchor.msoAnchorMiddle; //文本对齐方式(垂直方向)

            //4、文本框动画处理:设置该文本由第一级段落从左边时进行动画处理,正在进行动画处理后为指定的颜色变暗,并按相反的顺序动画显示其项飞入动画显示。
            MySlide.Shapes[3].AnimationSettings.TextLevelEffect = PpTextLevelEffect.ppAnimateByFirstLevel;
            MySlide.Shapes[3].AnimationSettings.EntryEffect = PpEntryEffect.ppEffectFlyFromLeft;
            MySlide.Shapes[3].AnimationSettings.AfterEffect = PpAfterEffect.ppAfterEffectDim;
            MySlide.Shapes[3].AnimationSettings.DimColor.RGB = 100 + 120 * 256 + 100 * 256 * 256; 
            MySlide.Shapes[3].AnimationSettings.AnimateTextInReverse = MsoTriState.msoTrue ;
            //5、读取动画信息 
            Console.WriteLine("text animation info:" + MySlide.Shapes[3].AnimationSettings.TextLevelEffect + "\n" +
                MySlide.Shapes[3].AnimationSettings.EntryEffect + "\n" +
                MySlide.Shapes[3].AnimationSettings.AfterEffect + "\n" +
                MySlide.Shapes[3].AnimationSettings.DimColor.RGB + "\n" +
                MySlide.Shapes[3].AnimationSettings.AnimateTextInReverse);
        }
    }
}

 

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

Excel中的图表能够将数据可视化,方便我们比较分析数据。但也有一定的局限,例如:不能够直接从图...C#Excel为图表添加模拟运算表

热门文章

无法握住的故土 在我们心灵最温暖的角落,总有一寸土地是属于故乡的。虽然我们看似已远离故土,可骨子里对故乡的依恋却是从未冷却过。我们无论漂泊他乡,还是在繁华都市平步青云,可故乡的悠悠情思总会潜入梦乡与你缠绵。是儿时那一缕缕茉莉的清香萦绕在梦境,也是邻家那已锈迹斑斑的铁壶里,开出艳丽的花儿在梦的边缘摇曳。故土就这样根深蒂固地在我们的灵魂深处烙下深深的印记。 作者:Pastore Antonio
1596 浏览量
EWS(Exchange Service)基本使用(获取个人会议,会议室会议内容,会议室列表,发送会议,修改会议,删除会议) 最近公司要求和exchange服务对接,所以稍微研究了一下官方文档,做出以下总结,欢迎大家补充。先...EWS(ExchangeService)基本使用(获取个人会议,会议室会议内容,会议室列表,发送会议,修改会议,删除会议) 作者:Pastore Antonio
1585 浏览量
Sql Server 部署SSIS包完成远程数据传输 本篇介绍如何使用SSIS和作业完成自动更新目标数据任务。**温馨提示:如需转载本文,请注明...SqlServer部署SSIS包完成远程数据传输 作者:Pastore Antonio
1579 浏览量
SQL Server AG集群启动不起来的临时自救大招 背景前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群...SQLServerAG集群启动不起来的临时自救大招 作者:Pastore Antonio
1573 浏览量
windows 下安装 memcahce 官网上并未提供Memcached的Windows平台安装包,我们可以使用以下链接来下载,你需...windows下安装memcahce 作者:Pastore Antonio
1567 浏览量