上下标常见于数学公式、化学表达式等科学公式中。使用Spire.Doc时,用户可以通过CharacterFormat类中SubSuperScript属性来将字符(串)设置为上标或下标。
//初始化Document对象,添加section和段落
Document doc = new Document();
Section sec = doc.AddSection();
Paragraph para = sec.AddParagraph();
//写入钠与水反应的化学反应方程式
para.AppendText("2Na+2H");
para.AppendText("2").CharacterFormat.SubSuperScript = SubSuperScript.SubScript;//2作为下标
para.AppendText("=2NaOH+H");
para.AppendText("2").CharacterFormat.SubSuperScript = SubSuperScript.SubScript;//2作为下标
para.AppendBreak(BreakType.LineBreak);//换行
//写入公式a^2+b^2=c^2
para.AppendText("a");
para.AppendText("2").CharacterFormat.SubSuperScript = SubSuperScript.SuperScript;//2作为上标
para.AppendText("+b");
para.AppendText("2").CharacterFormat.SubSuperScript = SubSuperScript.SuperScript;//2作为上标
para.AppendText("=c");
para.AppendText("2").CharacterFormat.SubSuperScript = SubSuperScript.SuperScript;//2作为上标
para.AppendBreak(BreakType.LineBreak);//换行
//写入公式an=Sn-Sn-1
para.AppendText("an");
para.AppendText("=S");
para.AppendText("n").CharacterFormat.SubSuperScript = SubSuperScript.SubScript;//n作为下标
para.AppendText("-S");
para.AppendText("n-1").CharacterFormat.SubSuperScript = SubSuperScript.SubScript;//n-1作为下标
//设置字体大小
foreach (var i in para.Items)
{
if (i is TextRange)
{
(i as TextRange).CharacterFormat.FontSize = 20;
}
}
//保存文档
doc.SaveToFile("output.docx");