当前位置: 移动技术网 > IT编程>开发语言>.net > NPOI处理Word文本中上下角标

NPOI处理Word文本中上下角标

2018年09月03日  | 移动技术网IT编程  | 我要评论

东风破伴奏下载,格格卖笑,2013安徽高考语文答案

读取word文档,并将文本转成html标签,后面发现,经常有带上下角标的内容,于是一并处理了。

核心在于对xwpfrun对象中subscript属性的处理。

 1         /// <summary>
 2         /// 读取word,并识别文本中的上下角标
 3         /// </summary>
 4         /// <param name="filename"></param>
 5         /// <returns></returns>
 6         public static string readwordtextexwithsubscript(string filename)
 7         {
 8 
 9             string filetext = string.empty;
10             stringbuilder sbfiletext = new stringbuilder();
11 
12             #region 打开文档
13             xwpfdocument document = null;
14             try
15             {
16                 using (filestream file = new filestream(filename, filemode.open, fileaccess.read))
17                 {
18                     document = new xwpfdocument(file);
19                 }
20             }
21             catch (exception e)
22             {
23                 throw e;
24             }
25             #endregion
26             //正文段落
27             foreach (xwpfparagraph paragraph in document.paragraphs)
28             {
29                 //获取段楼中的句列表
30                 ilist<xwpfrun> runslists = paragraph.runs;
31 
32                 sbfiletext.append("<p>");
33                 foreach (xwpfrun run in runslists)
34                 {
35                     switch (run.subscript)
36                     {
37                         case verticalalign.baseline:
38                             sbfiletext.append(run.text);
39                             break;
40                         //上角标
41                         case verticalalign.superscript:
42                             sbfiletext.append("<sup>" + run.text + "</sup>");
43                             break;
44                         //下角标
45                         case verticalalign.subscript:
46                             sbfiletext.append("<sub>" + run.text + "</sub>");
47                             break;
48                         default:
49                             sbfiletext.append(run.text);
50                             break;
51                     }
52                     
53                 }
54                 sbfiletext.appendline("</p>");
55             }
56             filetext = sbfiletext.tostring();
57 
58             return filetext;
59         }

word文档:

输出:

<p>测试<sup>上</sup><sub>下</sub>ok。</p>
<p>co<sub>2</sub></p>
<p>面积约6000km<sup>2</sup></p>

html预览:

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网