1.常用标签
<w:p> <!--表示一个段落-->
<w:val > <!--表示一个值-->
<w:r> <!--表示一个样式串,指明它包括的文本的显示样式,表示一个特定的文本格式-->
<w:t> <!--表示真正的文本内容-->
<w:rPr> <!--是<w:r>标签内的标签,对Run文本属性进行修饰-->
<w:pPr> <!--是<w:p>标签内的标签,对Paragraph文本属性进行修饰-->
<w:rFronts> <!--字体-->
<w:hdr> <!--页眉-->
<w:ftr> <!--页脚-->
<w:drawing > <!--图片-->
<wp:extent> <!--绘图对象大小-->
<wp:effectExtent > <!--嵌入图形的效果-->
<wp:inline > <!--内嵌绘图对象,dist(T,B,L,R)距离文本上下左右的距离-->
<w:noProof > <!--不检查拼写和语法错误-->
<w:docPr> <!--表示文档属性-->
<w:rsidR> <!--指定唯一一个标识符,用来跟踪编辑在修订时表行标识,所有段落和段落中的内容都应该拥有相同的属性值,如果出现差异,那么表示这个段落在后面的编辑中被修改。-->
<w:r> <!--表示关系,段落中以相连续的中文或英文字符字符串,作为开始和结束。目的就是要把一个段落中的中英文字符区分开来。 -->
<w:ind> <!--w:pPr元素的子元素,跟w:pStyle并列,ind代表缩进情况:有几个属性值:①firstLine(首行缩进)②left(左缩进)③当left和firstLine同时出现时代表下面的元素有两种属性首行和下面其他行都是有属性的④hanging(悬挂)-->
<w:hint> <!--字体的类型,w:rFonts的子元素,属性值eastAsia表面上的意思是“东亚”,指代“中日韩CJK”类型。-->
<w:bCs> <!--复合字体的加粗-->
<w:bookmarkStart> <!--书签开始-->
<w:bookmarkEnd> <!--书签结束-->
<w:lastRenderedPageBreak > <!--页面进行分页的标记,是w:r的一个属性,表示此段字符串是一页中的最后一个字符串。-->
<w:smartTag > <!--智能标记-->
<w:attr > <!--自定义XML属性-->
<w:b w:val=”on”> <!--表示该格式串种的文本为粗体-->
<w:jc w:val="right"/> <!--表示对齐方式-->
<w:sz w:val="40"/> <!--表示字号大小-->
<w:szCs w:val="40"/> <!---->
<w:t xml:space="preserve"> <!--保持空格,如果没有这内容的话,文本的前后空格将会被Word忽略-->
<w:spacing w:line="600" w:lineRule="auto"/> <!--设置行距,要进行运算,要用数字除以240,如此处为600/240=2.5倍行距-->
<w:jc w:val="center"/> <!-- 这句话表示段落对齐方式 -->
<!-- 设置了页的宽,高,和页的各边距。各项的值均是英寸乘1440得出 -->
<w:body>
<w:sectPr>
<w:pgSz w:w="12240" w:h="15840"/>
<w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="720" w:footer="720" w:gutter="0"/>
</w:sectPr>
</w:body>
<!--页眉和页脚-->
<w:sectPr wsp:rsidR="002C452C">
<w:hdr w:type="odd" >
<w:p>
<w:pPr>
<w:pStyle w:val="Header"/>
</w:pPr>
<w:r>
<w:t>这是页眉</w:t>
</w:r>
</w:p>
</w:hdr>
<w:ftr w:type="odd">
<w:p>
<w:pPr>
<w:pStyle w:val="Footer"/>
</w:pPr>
<w:r>
<w:t>这是页脚</w:t>
</w:r>
</w:p>
</w:ftr>
</w:sectPr>
<!--表示文档的视图是“print”,视图比例100%-->
<w:docPr>
<w:view w:val="print"/><w:zoom w:percent="100"/>
</w:docPr>
2.痕迹处理
1)书签
if (bookmark.Name == bookmarkDataVal.Key)
{
Run bookmarkText = bookmark.NextSibling<Run>();
if (bookmarkText != null) // if the bookmark has text replace it
{
// RunProperties runProperties = new RunProperties(); //属性
//Color color = new Color() { Val = "0000FF" };
//Underline underline = new Underline();
//underline.Val = UnderlineValues.Single;
//runProperties.Append(color);
//runProperties.Append(underline);
// bookmarkText.RunProperties = runProperties;
// bookmarkText.GetFirstChild<Text>().Text = bookmarkDataVal.Value;
Text text = new Text(bookmarkDataVal.Value);
RunProperties runProperties = new RunProperties(); //属性
//Color color = new Color() { Val = "0000FF" };
//Underline underline = new Underline();
//Font font = new Font();
// font.h
// underline.Val = UnderlineValues.Single;
// runProperties.Append(underline);
// runProperties.Append(color);
//Run run = new Run(runProperties);
//run.Append(text);
//Inserted insert = new Inserted();
//insert.Id = Guid.NewGuid().ToString();
//insert.Author = new StringValue() { Value = "王大大222" };
//insert.Date = DateTime.Now;
//insert.AppendChild(text);
bookmarkText.GetFirstChild<Text>().Text = "";
InsertedRun insert = new InsertedRun(runProperties);
insert.Id = Guid.NewGuid().ToString();
insert.Author = new StringValue() { Value = "王大大222" };
insert.Date = DateTime.Now;
insert.AppendChild(text);
bookmarkText.AppendChild(insert);
// bookmarkText.Append(insert);
}
2)表格单元格
foreach (var table in tables)
{
if (content.TableData.Count <= index) break;
List<List<string>> lstData = content.TableData[index].TableData;
index++;
// 添加数据
foreach (List<string> rowArray in lstData)
{
TableRow row = new TableRow();
foreach (string strCell in rowArray)
{
TableCell cell = new TableCell();
Text text = new Text(strCell);
RunProperties runProperties = new RunProperties();
InsertedRun insert = new InsertedRun(runProperties);
insert.Id = Guid.NewGuid().ToString();
insert.Author = new StringValue() { Value = "王大大222" };
insert.Date = DateTime.Now;
insert.AppendChild(text);
cell.Append(new Paragraph(new Run(insert)));
// cell.Append(insert);
row.Append(cell);
}
table.Append(row);
}
// TableRow tr = WordUtil.DOC_TAB_GetTableRow(ref table, 0);
}