【NCRE】——c#判断ppt中的艺术字
最近做的项目是关于NCRE考试系统的,这个项目主要是针对学生的计算机一级考试的项目,这个项目包括学生端和教师端,教师端是负责配置考题,学生端则是学生考试。学生端的包括几个题型:单选题,操作系统,文字处理,数据处理,演示文稿,网络操作题。我负责的是演示文稿这部分,在判断学生添加的艺术字是否正确的时候,一直没有找不到该查它的什么属性,属于无从下手的状态,所以这部分的代码一直被放置着,这几天敲demo的时候忽然来了灵感,就想到怎么去查艺术字了。
解决方案 :
考生的office环境是2010的,所以要查艺术字其实也是很简单的,只要找到对应的颜色就行。然而之前就是没有想到这一方面。。。
代码:
<strong><span style="font-size:18px;">查艺术字,可以通过查看他的颜色来判断是哪种样式的 #region 判断艺术字对不对 private void button13_Click(object sender, EventArgs e) { Microsoft.Office.Interop.PowerPoint.Application pa9 = new Microsoft.Office.Interop.PowerPoint.ApplicationClass(); Microsoft.Office.Interop.PowerPoint.Presentation pp9 = pa9.Presentations.Open(@"D:\我是用来测试的.pptx", Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse); MessageBox.Show(pp9.Slides[2].Shapes[1].TextFrame.TextRange.Font.Color.RGB.ToString()); MessageBox.Show(pp9.Slides[2].Shapes[2].TextFrame.TextRange.Font.Color.RGB.ToString()); #endregion }</span></strong>
拿了两个不同的艺术字来测试,show出来的结果值不同,赶紧再换来几个不同的艺术字来测试,没想到结果甚好,艺术字们的颜色都找到了。
这么多的艺术字颜色都不一样,但是还是有那么几个艺术字的颜色是相同的,难度一下子就降低了,开始找这五个艺术字的不同点,从他们的字体格式中发现他们的阴影透明度不相同,就是这个Shadow.Transparency属性,然后就跟着这个绕,但是没有什么效果。换对象,找的是LIne(轮廓属性),结果这五个show出来的结果是相同的。。。
未解决的问题:
这五个艺术字不知道如何去区分了,欢迎大神们指导!