|
#pragma once |
|
|
|
#include <cstdint> |
|
#include <iostream> |
|
#include <Aspose.Words.Cpp/Body.h> |
|
#include <Aspose.Words.Cpp/Document.h> |
|
#include <Aspose.Words.Cpp/PageSetup.h> |
|
#include <Aspose.Words.Cpp/DocumentBuilder.h> |
|
#include <Aspose.Words.Cpp/Paragraph.h> |
|
#include <Aspose.Words.Cpp/ParagraphCollection.h> |
|
#include <Aspose.Words.Cpp/SaveFormat.h> |
|
#include <Aspose.Words.Cpp/Saving/SaveOutputParameters.h> |
|
#include <Aspose.Words.Cpp/Section.h> |
|
#include <system/convert.h> |
|
#include <system/enumerator_adapter.h> |
|
#include <system/exceptions.h> |
|
#include <Aspose.Words.Cpp/License.h> |
|
|
|
using System::ArrayPtr; |
|
using System::MakeArray; |
|
using System::MakeObject; |
|
using System::SharedPtr; |
|
using System::String; |
|
|
|
using namespace Aspose::Words; |
|
using namespace System; |
|
|
|
void InsertHeaderFooter() |
|
{ |
|
// Apply Aspose.Words License |
|
System::String WordsLicenseFile = u"Aspose.Total.NET.lic"; |
|
SharedPtr<License> LicenseForHeader = System::MakeObject<License>(); |
|
LicenseForHeader->SetLicense(WordsLicenseFile); |
|
|
|
// Load the documet for adding Header/Footer |
|
SharedPtr<Document> AddHeaderFooterToDOC = MakeObject<Document>(u"TestWordDocument.docx"); |
|
|
|
// Use DocumentBuilder class to manage document Header/Footer settings |
|
SharedPtr<DocumentBuilder> HeaderBuilder = MakeObject<DocumentBuilder>(AddHeaderFooterToDOC); |
|
|
|
|
|
//Set different types of headers and footers for first even and odd pages |
|
HeaderBuilder->get_PageSetup()->set_DifferentFirstPageHeaderFooter(true); |
|
HeaderBuilder->get_PageSetup()->set_OddAndEvenPagesHeaderFooter(true); |
|
|
|
// Bring the cursor to the beginning of header and add some text into it |
|
HeaderBuilder->MoveToHeaderFooter(HeaderFooterType::HeaderPrimary); |
|
HeaderBuilder->Write(u"<<<<<<< HeaderPrimary >>>>>>>"); |
|
|
|
HeaderBuilder->MoveToHeaderFooter(HeaderFooterType::HeaderFirst); |
|
HeaderBuilder->Write(u"<<<<<<< HeaderFirst >>>>>>>"); |
|
|
|
HeaderBuilder->MoveToHeaderFooter(HeaderFooterType::HeaderEven); |
|
HeaderBuilder->Write(u"<<<<<<< HeaderEven >>>>>>>"); |
|
|
|
// Bring the cursor to the beginning of footer and add some text into it |
|
HeaderBuilder->MoveToHeaderFooter(HeaderFooterType::FooterPrimary); |
|
HeaderBuilder->Write(u"<<<<<<< FooterPrimary >>>>>>>"); |
|
|
|
HeaderBuilder->MoveToHeaderFooter(HeaderFooterType::FooterFirst); |
|
HeaderBuilder->Write(u"<<<<<<< FooterFirst >>>>>>>"); |
|
|
|
HeaderBuilder->MoveToHeaderFooter(HeaderFooterType::FooterEven); |
|
HeaderBuilder->Write(u"<<<<<<< FooterEven >>>>>>>"); |
|
|
|
// Bring the cursor to the beginning of body in first section |
|
HeaderBuilder->MoveToSection(0); |
|
HeaderBuilder->Writeln(u"Page1"); |
|
HeaderBuilder->InsertBreak(BreakType::PageBreak); |
|
HeaderBuilder->Writeln(u"Page2"); |
|
HeaderBuilder->InsertBreak(BreakType::PageBreak); |
|
HeaderBuilder->Writeln(u"Page3"); |
|
|
|
// Save the document with Header and Footer to DOCX file format |
|
AddHeaderFooterToDOC->Save(u"output.docx", SaveFormat::Docx); |
|
} |
|
|