对页眉页脚的处理,都只能在不同的section中去处理,因为页眉页脚是按section分区的。
- DifferentFirstPageHeaderFooter
- OddAndEvenPagesHeaderFooter
以上另个设置只能在每个section中去做设置,否则会设置失败,并且设置的值为-1(功能开启)和0(功能关闭),C#中参数为int型而不是bool型。
页眉页脚的range与正文的range type不一样,因此range的start,end的值不可以通用。
- 如果在页眉页脚中想插入不同类型的内容,可以通过增加paragraph的方式,来获取新的range,并且使用从右到左的增加方式来增加。
示例如下:
foreach (Word.Section section in doc.Sections)
{
//页眉从右往左添加paragraph,这里的range和doc的range是不同的,只能依次移动range
Word.Range headerRange = section.Headers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
Word.HeaderFooter header = section.Headers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary];
Word.Paragraph p1 = headerRange.Paragraphs[1];
Word.Paragraph rightP = p1.Range.Paragraphs.Add(p1.Range);
rightP.Range.Fields.Add(rightP.Range, Word.WdFieldType.wdFieldEmpty, "STYLEREF \"标题 1\" ", true);
Word.Paragraph centerP = p1.Range.Paragraphs.Add(rightP.Range);
centerP.Range.InsertAlignmentTab((int)Word.WdAlignmentTabAlignment.wdRight);
Word.InlineShape shape1 = p1.Range.InlineShapes.AddPicture(@"C:\Users\terra\Desktop\t.png", false, true);
shape1.Height = 14.1F;
shape1.Width = 78.25F;
p1.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
}