Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words allows users to work with headers and footers in a document. A header is text that is placed at the top of a page, and a footer is text at the bottom of a page. Typically, these areas are used to insert information that should be repeated on all or some pages of the document, such as page numbers, creation date, company information, and so on.
If you want to add a document header or footer programmatically, the easiest way is to use the DocumentBuilder class to do it.
The following code example shows how to add a header and footer for document pages:
When you add a header or footer to a document, you can set some advanced properties. Aspose.Words provides users with the HeaderFooter and HeaderFooterCollection classes, as well as HeaderFooterType enumeration that give you more control over the header and footer customization process.
You can specify three different header types and three different footer types for one document:
The following code example shows how to add a header for odd document pages:
As said above, you can also set a different header or footer for the first page. To do this, you need to set the DifferentFirstPageHeaderFooter flag to true
and then specyfy the HeaderFirst or FooterFirst value.
The following code example shows how to set the header for the first page only:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Specify that we want different headers and footers for first page. | |
builder.PageSetup.DifferentFirstPageHeaderFooter = true; | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderFirst); | |
builder.Write("Header for the first page."); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterFirst); | |
builder.Write("Footer for the first page."); | |
builder.MoveToSection(0); | |
builder.Writeln("Page 1"); | |
builder.InsertBreak(BreakType.PageBreak); | |
builder.Writeln("Page 2"); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.DifferentFirstPage.docx"); |
Next, you will want to set different headers or footers for odd and even pages in a document. To do this, you need to set the OddAndEvenPagesHeaderFooter flag to true
and then specyfy the values HeaderPrimary and HeaderEven, or FooterPrimary and FooterEven.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Specify that we want different headers and footers for even and odd pages. | |
builder.PageSetup.OddAndEvenPagesHeaderFooter = true; | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderEven); | |
builder.Write("Header for even pages."); | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary); | |
builder.Write("Header for odd pages."); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterEven); | |
builder.Write("Footer for even pages."); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary); | |
builder.Write("Footer for odd pages."); | |
builder.MoveToSection(0); | |
builder.Writeln("Page 1"); | |
builder.InsertBreak(BreakType.PageBreak); | |
builder.Writeln("Page 2"); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.OddEvenPages.docx"); |
To place an image in a header or footer, use the HeaderPrimary header type or the FooterPrimary footer type and the InsertImage method.
The following code example shows how to add an image to a header:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary); | |
builder.InsertImage(ImagesDir + "Logo.jpg", RelativeHorizontalPosition.RightMargin, 10, | |
RelativeVerticalPosition.Page, 10, 50, 50, WrapType.Through); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.InsertImage.docx"); |
With Aspose.Words you can set the font and paragraph properties, use the HeaderPrimary header type or the FooterPrimary footer type, as well as methods and properties for working with the fonts and paragraphs you use for the document body.
The following code example shows how to set the text in the header to Arial, bold, size 14, and center alignment:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary); | |
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; | |
builder.Font.Name = "Arial"; | |
builder.Font.Bold = true; | |
builder.Font.Size = 14; | |
builder.Write("Header for page."); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.FontProps.docx"); |
If necessary, you can add page numbers to the header or footer. To do this, use the HeaderPrimary header type or the FooterPrimary footer type and the InsertField method to add the required field.
The following code example shows how to add page numbers to the footer on the right:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary); | |
builder.ParagraphFormat.Alignment = ParagraphAlignment.Right; | |
builder.Write("Page "); | |
builder.InsertField("PAGE", ""); | |
builder.Write(" of "); | |
builder.InsertField("NUMPAGES", ""); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.PageNumbers.docx"); |
If you need to copy the header or footer from the previous section, you can do that too.
The following code example shows how to copy the header or footer from the previous section:
Aspose.Words allows you to provide the appearance of a header or footer when using different orientations and page sizes.
The following example shows how to do this:
Each section in a document can have up to three headers and up to three footers (for first, even, and odd pages). If you want to remove all headers or all footers in a document, you need to loop through all the sections and remove each corresponding header node or footer node.
The following code example shows how to remove all footers from all sections but leave headers intact. You can remove only headers in a similar way:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.