页眉是文档中出现在顶部边距的部分,通常包含页码、日期和文档名称等信息。使用 Aspose.Words REST API,您可以在 Word 文档中插入页码以及页眉。默认情况下,每页的页眉都相同,但我们可以为奇数页和偶数页创建不同的页眉。
这篇文章旨在实现文档的以下布局,其中第一页的页眉与其余页面不同:
在调用任何 Aspose REST API 之前,我们需要创建 Aspose Cloud 帐户 并获取我们的 App Key 和 App SID。入门 文章介绍了如何执行这些步骤。
此外,我们需要将示例文档上传到云存储,因为该文档的所有操作都将在云中执行:
// 完整示例和数据文件请前往https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs
string MyAppKey = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
StorageApi storageApi = new StorageApi(MyAppKey, MyAppSid);
string fileName = "Sample-Document.docx";
// 将源文档上传至云存储
PutCreateRequest request = new PutCreateRequest(fileName, File.OpenRead(@"c:\Data\" + fileName), null, null);
storageApi.PutCreate(request);
在 Word 文档中插入页眉
插入页眉页脚 API 在文档中添加页眉,其 headerFooterType 参数可以采用以下六个值之一:
- HeaderFirst — 该部分第一页的标题。
- HeaderPrimary – 主标题,也用于奇数页。
- HeaderEven – 偶数页的页眉。
- FooterFirst — 该部分第一页的页脚。
- FooterPrimary – 主菜单脚,也用于奇数页。
- FooterEven – 偶数页的页脚。
请使用 HeaderFirst 值在第一页插入页眉:
// 完整示例和数据文件请前往https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs
string MyAppKey = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);
string fileName = "Sample-Document.docx";
string folder = null; // File exists at the root of the storage
// 插入第一页的页眉
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderFirst", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);
并使用 HeaderPrimary 值在其余页面中插入页眉:
// 完整示例和数据文件请前往https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs
// 为所有其他页面插入页眉
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderPrimary", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);
由于第一个标题与其他标题不同,因此将 DifferentFirstPageHeaderFooter 参数值设置为 true,如下所示:
// 完整示例和数据文件请前往https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs
var sectionIndex = 0;
var body = new PageSetup
{
DifferentFirstPageHeaderFooter = true
};
var pageSetupRequest = new UpdateSectionPageSetupRequest(fileName, sectionIndex, body);
var actual = wordsApi.UpdateSectionPageSetup(pageSetupRequest);
执行上述代码片段后,文档的标题中已添加空段落。现在,为了向这些标题添加文本,我们将使用 插入段落 API。下面显示的代码在第一个标题中添加“Aspose”文本,并在所有其他标题中添加“Cloud File Format APIs”文本:
// 完整示例和数据文件请前往https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs
var run = new Run { Text = "ASPOSE" };
var runRequest = new PutRunRequest(fileName, "sections/0/headersfooters/1/paragraphs/0", run);
var actual = wordsApi.PutRun(runRequest);
将格式应用于标题文本
可以使用 更新运行字体 API 将格式应用于标题文本。该 API 在其主体中接受 fontDto 对象,其资源属性的详细信息在 更新 Word 文档中文本的字体属性 文章中给出。以下代码将标题文本的字体系列设置为 Verdana,文本大小设置为 14,文本颜色设置为黑色。
// 完整示例和数据文件请前往https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs
var runIndex = 0;
var fontDto = new Font { Bold = true, Name = "Verdana", Size = 14, Color = new XmlColor { Web = "#000000" } };
// 将格式应用于首页页眉
var documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/1/paragraphs/0", runIndex);
var actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);
// 将格式应用于所有其他页面的页眉
documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/0/paragraphs/0", runIndex);
actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);
进行上述 API 调用后,输入文档如下所示:
在 Word 文档中插入页码
InsertPageNumbers API 用于在 Word 文档中插入页码。该 API 在其主体中接受以下 JSON 对象:
{
"Format": "string",
"Alignment": "string",
"IsTop": true,
"SetPageNumberOnFirstPage": true
}
由于我们要在页眉中添加页码,因此我们将 IsTop 参数的值设置为 true。但是,要在页脚中添加页码,请将值设置为 false。
// 完整示例和数据文件请前往https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs
var body = new PageNumber { Alignment = "right", Format = "{PAGE} of {NUMPAGES}", IsTop = true, SetPageNumberOnFirstPage = true };
var insertPageNumbersRequest = new PostInsertPageNumbersRequest(fileName, body);
var actual = wordsApi.PostInsertPageNumbers(insertPageNumbersRequest);
最后,我们为文档添加了页眉和页码。
建议发帖:
我们还建议您查看以下博客文章以了解更多信息: