/// <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;
}
}
}
spire.doc 生成页眉页脚
于 2023-11-24 14:32:50 首次发布