永利官网ylg客户端NPOI管理Word文本中上下角标

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

<p>x<sup>1</sup>+y<sup>2</sup>=y<sub>2</sub></p>

 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         }

<h5>教学时间H5</h5>

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

<sup>上标</sub>

输出:

 

 

 永利官网ylg客户端 1

核心在于对XWPFRun对象中Subscript属性的处理。

Size:粗细

永利官网ylg客户端 2

转义字符:用于表示网页中的特殊字符

Html预览:

永利官网ylg客户端, 

Word文档:

         &copy——版权;

永利官网ylg客户端 3

 

HTML结构与样式相分离,有关样式全部写在css中。

ylg娱乐官网,<p>x<sub>1</sub>=y<sub>2</sub></p><br/>

1,         转义字符

x1=y2

XHTML不直接输入符号,建议使用转义字符。

<p>           lalala            </p>

 

Color:颜色

 

非封闭类型标记又叫做空标记或者单标记<标记/>或者<标记>,在HTML4和HTML5中无区别,但是在XHTML中要求所有的单标签必须封闭。

<Hr> 水平线

 

<h2>教学时间H2</h2>

发表评论

电子邮件地址不会被公开。 必填项已用*标注