Верхній колонтитул – це частина документа, яка відображається у верхньому полі та зазвичай містить таку інформацію, як номер сторінки, дата та назва документа. За допомогою Aspose.Words REST APIs ви можете вставити номер сторінки в документ Word, а також заголовки сторінок. За замовчуванням заголовки однакові на кожній сторінці, але ми можемо створити різні заголовки для парних і непарних сторінок.

Ця публікація має на меті створити такий макет документа, у якому заголовок на першій сторінці відрізняється від решти сторінок:

Вставте номер сторінки
Вставте заголовок

Перш ніж викликати будь-який REST API Aspose, нам потрібно створити обліковий запис Aspose Cloud і отримати наш ключ програми та SID програми. У статті Початок роботи пояснюється, як виконати ці дії.

Крім того, нам потрібно завантажити зразок документа в Cloud Storage, оскільки всі операції з документом виконуватимуться в хмарі:

// Щоб отримати повний приклад і файл даних, перейдіть на сторінку 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";

// Завантажте вихідний документ у Cloud Storage
PutCreateRequest request = new PutCreateRequest(fileName, File.OpenRead(@"c:\Data\" + fileName), null, null);
storageApi.PutCreate(request);

Вставте заголовок у документ Word

Insert Header Footer 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 Insert Paragraph. Наведений нижче код додає текст «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 Update Run Font. 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

API InsertPageNumbers використовується для вставки номерів сторінок у документ 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);

Нарешті ми додали заголовки та номери сторінок до документа.

Рекомендована публікація:

Ми також рекомендуємо переглянути такі публікації блогу, щоб дізнатися більше про: