spire.doc 生成页眉页脚

        /// <summary>
        /// 给文档添加页眉页脚
        /// </summary>
        /// <param name="document"></param>
        /// <param name="info1"></param>
        /// <param name="info2"></param>
        public static void AddHeader(Document document, string info1, string info2)
        {
            for (int i = 0; i < document.Sections.Count; i++)
            {
                Section section = document.Sections[i];
                if (i == 0)
                {
                    //第一个section是封面所在的section,页眉页脚不同
                    section.PageSetup.DifferentFirstPageHeaderFooter = true;
                    section.PageSetup.DifferentOddAndEvenPagesHeaderFooter = false;
                    //页眉
                    HeaderFooter header = section.HeadersFooters.Header;
                    header.LinkToPrevious = false;
                    header.Paragraphs.Clear();
                    Paragraph headerParagraph = header.AddParagraph();
                    //插入图片
                    DocPicture headerPicture = headerParagraph.AppendPicture(@"\Resources\header.png");
                    headerPicture.TextWrappingStyle = TextWrappingStyle.Inline;
                    headerPicture.HorizontalAlignment = ShapeHorizontalAlignment.Left;
                    //增加Tab
                    headerParagraph.Format.Tabs.AddTab(600, TabJustification.Right, TabLeader.NoLeader);
                    //页眉信息
                    TextRange text = headerParagraph.AppendText($"\t{info1}");
                    text.CharacterFormat.FontName = "Arial";
                    text.CharacterFormat.FontSize = 8;
                    text.CharacterFormat.Italic = true;
                    headerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Right;
                    //插入黑线
                    headerParagraph.Format.Borders.Bottom.BorderType = Spire.Doc.Documents.BorderStyle.Single;
                    headerParagraph.Format.Borders.Bottom.Space = 0.05F;

                    //页脚
                    HeaderFooter footer = section.HeadersFooters.Footer;
                    footer.LinkToPrevious = true;
                    footer.Paragraphs.Clear();
                    Paragraph footerParagraph = footer.AddParagraph();
                    //插入数字
                    footerParagraph.AppendField("page number", FieldType.FieldPage);
                    footerParagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Center;
                    //插入黑线
                    footerParagraph.Format.Borders.Top.BorderType = Spire.Doc.Documents.BorderStyle.Single;
                    footerParagraph.Format.Borders.Top.Space = 0.05F;


                }
                else
                {
                    //正常Section, 与首页不一致关闭,奇偶页不同打开
                    section.PageSetup.DifferentFirstPageHeaderFooter = false;
                    section.PageSetup.DifferentOddAndEvenPagesHeaderFooter = true;
                    //处理奇数页
                    //页眉
                    HeaderFooter oddHeader = section.HeadersFooters.OddHeader;
                    oddHeader.LinkToPrevious = false;
                    oddHeader.Paragraphs.Clear();
                    Paragraph oddHeaderParagraph = oddHeader.AddParagraph();
                    //插入图片
                    DocPicture oddHeaderPicture = oddHeaderParagraph.AppendPicture(@"Resources\header.png");
                    oddHeaderPicture.TextWrappingStyle = TextWrappingStyle.Inline;
                    oddHeaderPicture.HorizontalAlignment = ShapeHorizontalAlignment.Left;
                    //增加Tab
                    oddHeaderParagraph.Format.Tabs.AddTab(600, TabJustification.Right, TabLeader.NoLeader);
                    //插入章节名
                    oddHeaderParagraph.AppendText("\t");
                    oddHeaderParagraph.AppendField("标题 1", FieldType.FieldStyleRef);
                    oddHeaderParagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Right;
                    //黑线
                    oddHeaderParagraph.Format.Borders.Bottom.BorderType = Spire.Doc.Documents.BorderStyle.Single;
                    oddHeaderParagraph.Format.Borders.Bottom.Space = 0.05F;

                    //页脚
                    HeaderFooter oddFooter = section.HeadersFooters.OddFooter;
                    oddFooter.LinkToPrevious = false;
                    oddFooter.Paragraphs.Clear();
                    Paragraph oddFooterParagraph = oddFooter.AddParagraph();
                    //插入数字
                    oddFooterParagraph.AppendField("page number", FieldType.FieldPage);
                    oddFooterParagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Center;
                    //插入黑线
                    oddFooterParagraph.Format.Borders.Top.BorderType = Spire.Doc.Documents.BorderStyle.Single;
                    oddFooterParagraph.Format.Borders.Top.Space = 0.05F;

                    //处理偶数页
                    //处理奇数页
                    //页眉
                    HeaderFooter evenHeader = section.HeadersFooters.EvenHeader;
                    evenHeader.LinkToPrevious = false;
                    evenHeader.Paragraphs.Clear();
                    Paragraph evenHeaderParagraph = evenHeader.AddParagraph();
                    //插入图片
                    DocPicture evenHeaderPicture = evenHeaderParagraph.AppendPicture(@"Resources\header.png");
                    evenHeaderPicture.TextWrappingStyle = TextWrappingStyle.Inline;
                    evenHeaderPicture.HorizontalAlignment = ShapeHorizontalAlignment.Left;
                    //增加Tab
                    evenHeaderParagraph.Format.Tabs.AddTab(600, TabJustification.Right, TabLeader.NoLeader);
                    //插入章节名
                    evenHeaderParagraph.AppendText($"\t{info2}");
                    evenHeaderParagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Right;
                    //黑线
                    evenHeaderParagraph.Format.Borders.Bottom.BorderType = Spire.Doc.Documents.BorderStyle.Single;
                    evenHeaderParagraph.Format.Borders.Bottom.Space = 0.05F;

                    //页脚
                    HeaderFooter evenFooter = section.HeadersFooters.EvenFooter;
                    evenFooter.LinkToPrevious = false;
                    evenFooter.Paragraphs.Clear();
                    Paragraph evenFooterParagraph = evenFooter.AddParagraph();
                    //插入数字
                    evenFooterParagraph.AppendField("page number", FieldType.FieldPage);
                    evenFooterParagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Center;
                    //插入黑线
                    evenFooterParagraph.Format.Borders.Top.BorderType = Spire.Doc.Documents.BorderStyle.Single;
                    evenFooterParagraph.Format.Borders.Top.Space = 0.05F;

                }

            }
        }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值