在一段文字中,我们可以通过设置字体格式起到强调、突出的效果。常见的,以字体加粗、倾斜、设置字体下划线、上下标、字体颜色等形式为主。下面,将通过使用spire.presentation来实现以上字体格式。
c#
//加载测试文档
presentation ppt = new presentation("test.pptx", fileformat.pptx2010);
//获取首个幻灯片中第一个shape的文本,并保存为新的字符串变量
iautoshape shape = ppt.slides[0].shapes[1] as iautoshape;
string originaltext = shape.textframe.text;
//用指定的文本字符来拆分字符串,并将子字符串返回到字符串数组
string[] splitarray = originaltext.split(new string[] { "加粗", "倾斜", "绿色", "下划线", "-1", "放大", "缩小"}, stringsplitoptions.none);
//将shape中的段落移除
textparagraph tp = shape.textframe.textrange.paragraph;
tp.textranges.clear();
//获取第1个数组元素
textrange tr = new textrange(splitarray[0]);
tp.textranges.append(tr);//将字符串“加粗”前面的文本追加到段落(以下代码同理)
//设置局部变量“加粗”的文本效果,并添加到段落
tr = new textrange("加粗");
tr.isbold = tristate.true;
tp.textranges.append(tr);
//获取第2个数组元素
tr = new textrange(splitarray[1]);
tp.textranges.append(tr);
//设置局部变量“倾斜”的文本效果,并添加到段落
tr = new textrange("倾斜");
tr.isitalic = tristate.true;
tp.textranges.append(tr);
//获取第3个数组元素
tr = new textrange(splitarray[2]);
tp.textranges.append(tr);
//设置文本颜色为绿色,并添加到段落
tr = new textrange("绿色");
tr.fill.filltype = spire.presentation.drawing.fillformattype.solid;
tr.format.fill.solidcolor.color = color.green;
tp.textranges.append(tr);
//获取第4个数组元素
tr = new textrange(splitarray[3]);
tp.textranges.append(tr);
//设置文本下划线效果,并添加到段落
tr = new textrange("下划线");
tr.textunderlinetype = textunderlinetype.single;
tp.textranges.append(tr);
//获取第5个数组元素
tr = new textrange(splitarray[4]);
tp.textranges.append(tr);
//设置文本为上标(下标设置,将数值设置为负数即可)
tr = new textrange("-1");
tr.scriptdistance = 40;
tp.textranges.append(tr);
//获取第6个数组元素
tr = new textrange(splitarray[5]);
tp.textranges.append(tr);
//设置文字放大效果
tr = new textrange("放大");
tr.fontheight = 35;
tp.textranges.append(tr);
//获取第7个数组元素
tr = new textrange(splitarray[6]);
tp.textranges.append(tr);
//设置文字缩小效果
tr = new textrange("缩小");
tr.fontheight = 10;
tp.textranges.append(tr);
//获取剩余的字符串内容,并追加到段落
tr = new textrange(splitarray[7]);
tp.textranges.append(tr);
//保存文档
ppt.savetofile("result.pptx", fileformat.pptx2010);
system.diagnostics.process.start("result.pptx");
vb.net
'加载测试文档
dim ppt as new presentation("test.pptx", fileformat.pptx2010)
'获取首个幻灯片中第一个shape的文本,并保存为新的字符串变量
dim shape as iautoshape = trycast(ppt.slides(0).shapes(1), iautoshape)
dim originaltext as string = shape.textframe.text
'用指定的文本字符来拆分字符串,并将子字符串返回到字符串数组
dim splitarray as string() = originaltext.split(new string() {"加粗", "倾斜", "绿色", "下划线", "-1", "放大", _
"缩小"}, stringsplitoptions.none)
'将shape中的段落移除
dim tp as textparagraph = shape.textframe.textrange.paragraph
tp.textranges.clear()
'获取第1个数组元素
dim tr as new textrange(splitarray(0))
tp.textranges.append(tr)
'将字符串“加粗”前面的文本追加到段落(以下代码同理)
'设置局部变量“加粗”的文本效果,并添加到段落
tr = new textrange("加粗")
tr.isbold = tristate.[true]
tp.textranges.append(tr)
'获取第2个数组元素
tr = new textrange(splitarray(1))
tp.textranges.append(tr)
'设置局部变量“倾斜”的文本效果,并添加到段落
tr = new textrange("倾斜")
tr.isitalic = tristate.[true]
tp.textranges.append(tr)
'获取第3个数组元素
tr = new textrange(splitarray(2))
tp.textranges.append(tr)
'设置文本颜色为绿色,并添加到段落
tr = new textrange("绿色")
tr.fill.filltype = spire.presentation.drawing.fillformattype.solid
tr.format.fill.solidcolor.color = color.green
tp.textranges.append(tr)
'获取第4个数组元素
tr = new textrange(splitarray(3))
tp.textranges.append(tr)
'设置文本下划线效果,并添加到段落
tr = new textrange("下划线")
tr.textunderlinetype = textunderlinetype.[single]
tp.textranges.append(tr)
'获取第5个数组元素
tr = new textrange(splitarray(4))
tp.textranges.append(tr)
'设置文本为上标(下标设置,将数值设置为负数即可)
tr = new textrange("-1")
tr.scriptdistance = 40
tp.textranges.append(tr)
'获取第6个数组元素
tr = new textrange(splitarray(5))
tp.textranges.append(tr)
'设置文字放大效果
tr = new textrange("放大")
tr.fontheight = 35
tp.textranges.append(tr)
'获取第7个数组元素
tr = new textrange(splitarray(6))
tp.textranges.append(tr)
'设置文字缩小效果
tr = new textrange("缩小")
tr.fontheight = 10
tp.textranges.append(tr)
'获取剩余的字符串内容,并追加到段落
tr = new textrange(splitarray(7))
tp.textranges.append(tr)
'保存文档
ppt.savetofile("result.pptx", fileformat.pptx2010)
system.diagnostics.process.start("result.pptx")
字体设置效果对比
测试文档:
设置效果: