上下标常见于数学公式、化学表达式等科学公式中。使用Spire.Doc时,用户可以通过CharacterFormat类中SubSuperScript属性来将字符(串)设置为上标或下标。
C#
//初始化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");
VB.NET
'初始化Document对象,添加section和段落
Dim doc As Document = New Document
Dim sec As Section = doc.AddSection
Dim para As Paragraph = 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作为下标
'设置字体大小
For Each i In para.Items
If (TypeOf i Is TextRange) Then
CType(i,TextRange).CharacterFormat.FontSize = 20
End If
Next
'保存文档
doc.SaveToFile("output.docx")