在此示例中,我们将探讨如何使用 C++ 在 DOCX 中插入页眉和页脚。页眉和页脚分别添加在 Word 文档页面的顶部和底部。它们保存有目的在每个页面上重复的关键和有用信息,包括日期时间、作者信息、页码等。为了使用 C++ 在 Word 文档中添加页眉和页脚信息,使用了非常简单的 API 接口。
使用 C++ 在 DOCX 中添加页眉和页脚的步骤
- 使用 NuGet 包管理器下载 Aspose.Words.Cpp
- 包括对 Aspose::Words 命名空间的引用
- 实例化 Document Class 对象以加载文档以添加页眉/页脚
- 使用 DocumentBuilder Class 管理 DOCX 中的页眉/页脚设置
- 设置不同的页眉/页脚属性
- 使用 Save 方法在 C++ 中保存带有页眉/页脚信息的 DOCX
您可以使用以下示例加载任何现有的 MS Word 文件或创建一个新文件以使用 C++ 添加页眉和页脚信息。只需在 C++ 中调用少量 API 即可加载文档并在 DOCX 中启用页眉和页脚设置。
使用 C++ 在 DOCX 中添加页眉和页脚的代码
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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); | |
} | |
在前面的示例中,我们查看了 如何使用 C++ 在 DOCX 中创建表。而在此示例中,我们专注于 C++ 中的 Word 文档页眉和页脚处理。