C# 对word 页眉页脚处理注意点

 

对页眉页脚的处理,都只能在不同的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;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值