заголовок

A quick view of MS Word document transformation.

Верхний колонтитул — это верхнее поле каждой страницы, а нижний колонтитул — это нижнее поле каждой страницы. Верхние и нижние колонтитулы полезны для включения информации, которую вы хотите отобразить на каждой странице документа, такой как ваше имя, даты, название документа, номера страниц или отказ от ответственности в документах. При использовании MS Word он предоставляет возможности добавлять верхние и нижние колонтитулы на основе предопределенных макетов или позволяет добавлять пользовательские верхние и нижние колонтитулы. Большинство встроенных заголовков содержат некоторый текст-заполнитель, и вы можете либо сохранить текст-заполнитель, либо заменить его собственным потоком данных. Кроме того, при обновлении информации в разделе верхнего или нижнего колонтитула содержимое внутри основного текста документа отображается серым цветом, что указывает на то, что эти объекты полностью изолированы от остального содержимого страницы, и операция, которую вы выполняете над этими объектами, специфична для этих областей. В этой статье мы изучим шаги по добавлению или обновлению верхнего и нижнего колонтитула в документе Word с помощью REST API.

API обработки текста

Aspose.Words Cloud API предоставляет возможности загрузки файлов MS Word из облачного хранилища, а также позволяет пользователю передавать входной файл непосредственно в теле запроса, а API возвращает обновленный файл в объекте ответа. Он предоставляет функции для чтения, добавления, обновления или удаления определенных или всех объектов верхнего и нижнего колонтитула. Кроме того, вы также можете указать, чтобы отображались разные верхние и нижние колонтитулы для первой страницы и для нечетных/четных страниц.

Кроме того, API также позволяет вам устанавливать информацию о форматировании, такую как свойства шрифта и абзаца для текста верхнего/нижнего колонтитула. Вы также получаете рычаг для вставки динамических номеров страниц в раздел верхнего/нижнего колонтитула. И последнее, но не менее важное: вы можете рассмотреть возможность использования табличных объектов, чтобы сделать одну часть текста верхнего/нижнего колонтитула выровненной по левому краю, а другую — по правому.

Область применения статьи

Наш Aspose.Words Cloud SDK для .NET позволяет вам работать с Aspose.Words Cloud REST API быстро и легко, поскольку он заботится о множестве низкоуровневых деталей, касающихся создания запросов и обработки ответов, и позволяет вам сосредоточиться на написании кода, специфичного для ваших бизнес-требований. В этой статье мы будем использовать Aspose.Words Cloud SDK для .NET в Visual Studio для Mac. В этой статье определяются шаги для вставки верхнего и нижнего колонтитула в документ Word, где будет определено пользовательское форматирование. Затем форматирование выходящего содержимого нижнего колонтитула обновляется, а информация PageNumber вставляется в нижнюю правую позицию. Все эти операции будут выполняться в облаке.

Установка

Чтобы начать работу, сначала вам нужно установить Visual Studio в вашей системе. Создайте пример решения и добавьте ссылку NuGet Aspose.Words Cloud SDK for .NET. Поэтому, чтобы добавить ссылку, щелкните правой кнопкой мыши по решению и выберите пункт меню Manage NuGet Packages…. Введите Aspose.Words-Cloud в текстовое поле поиска. Выберите этот параметр и нажмите кнопку Add package.

Теперь в решении появилась ссылка на Aspose.Words.Cloud.Sdk. Использование облачных API имеет некоторые преимущества по сравнению с локальными (aspose.com) API. Причина в том, что вам не нужно вручную отслеживать и обновлять версии API, и вам не нужно платить за всю лицензию.

Панель управления Aspose.Cloud

Просто создайте учетную запись на панели управления Aspose.Cloud или зарегистрируйтесь через существующую учетную запись Google или GitHub и начните использовать наши облачные API. Еще одна удивительная особенность облачных API заключается в том, что вы можете использовать их на любой платформе, используя любой поддерживаемый язык.

Как указано выше, в статье особое внимание уделяется опциям, касающимся добавления и обновления объектов Header и Footer в документах MS Word. Для тестирования мы использовали существующий шаблон документа MS Word с именем Business Letter. Документ необходимо загрузить в облачное хранилище Aspose, и все манипуляции и обработка документа будут выполняться в облаке. После завершения всей обработки мы также можем загрузить результирующую копию файла из облачного хранилища.

using Aspose.Words.Cloud.Sdk;
using Aspose.Words.Cloud.Sdk.Model;
using Aspose.Words.Cloud.Sdk.Model.Requests;

Теперь, чтобы использовать API Aspose.Cloud, вам необходимо использовать информацию App Key и App SID в вашем коде. Эти ключи состоят из буквенно-цифровых цифр. Это уникальные коды, связанные с вашей учетной записью подписки. Чтобы получить эти данные, щелкните вкладку My Apps на панели управления Aspose.Cloud. Получив ключи, нам нужно инициализировать объект API Aspose.Words.

string MyAppKey = "f6axxxxxxxxxxxxxxxxxx";     // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = "478e4827-xxxxx-xxxx-xxxx-xxxxxxx"; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// create an object of WordsApi while passing AppKey and AppSid information
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

Вставить объект заголовка

Чтобы добавить объект заголовка в файл MS Word, нам необходимо последовательно выполнить следующие операции.

  1. Создаем объект InsertHeaderFooterRequest, куда передаем тип HeaderFooterLink в качестве аргумента.
  2. Вставьте объект HeaderFooterRequest в объект WordsApi с помощью метода InsertHeaderFooter (…).
  3. Создайте объект Run, содержащий образец текстовой информации.
  4. Создаем объект InsertRunRequest, в который передаем ссылку на абзац (SectionPath) в объект HeaderFooter, куда необходимо добавить текст Run.
    Затем вызовите метод InsertRun (…) WordsApi, который добавит RunRequest к объекту HeaderFooter.

HeaderFooter.TypeEnum может иметь одно из следующих значений.

string MyAppKey = "xxxxxxxx";    // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = "xxxxxxxxx";   // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// создать объект WordsAPI, передавая информацию AppKey и AppSid
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

// загрузить образец документа в облачное хранилище
wordsApi.UploadFile(new UploadFileRequest(new System.IO.FileStream("/Users/nayyershahbaz/Documents/BusinessLetter.docx", 
    FileMode.Open, FileAccess.Read), "BusinessLetter.docx"));

// Вставить объект заголовка на первую страницу
var putHeaderFooterRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.InsertHeaderFooterRequest("BusinessLetter.docx", "HeaderFirst", null,null);  
var actual = wordsApi.InsertHeaderFooter(putHeaderFooterRequest);
// Создать объект Run, содержащий образец текста
var run = new Run { Text = "Aspose.Words Cloud SDK for .NET " };
// добавить текст Run в первый абзац первого объекта HeaderFooter в первом разделе документа Word
var runRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.InsertRunRequest("BusinessLetter.docx", "sections/0/headersfooters/1/paragraphs/0", run);
// Вставьте RunRequest в документ Word
var actual2 = wordsApi.InsertRun(runRequest);
заголовок

Image showing preview of recently added Header

Обновить форматирование текста вновь вставленного заголовка

После добавления объекта Header мы можем обновить форматирование текста содержимого внутри него. Чтобы выполнить это требование, нам необходимо выполнить следующие шаги.

  1. Создаем объект класса Font, в котором указываем имя шрифта, размер, информацию о цвете.
  2. Чтобы сделать текст более презентабельным, отметьте свойство Engrave как True.
  3. Создаем объект класса UpdateRunFontRequest, куда передаем входной файл, Font, SectionPath и runIndex в качестве аргумента.
  4. Наконец, используйте метод UpdateRunFont(..) и добавьте объект UpdateRunFontRequest к экземпляру WordsApi.
string MyAppKey = "xxxxxxxx";    // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = "xxxxxxxxx";   // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// создать объект WordsAPI, передавая информацию AppKey и AppSid
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

// загрузить образец документа в облачное хранилище
wordsApi.UploadFile(new UploadFileRequest(new System.IO.FileStream("/Users/nayyershahbaz/Documents/BusinessLetter.docx", 
    FileMode.Open, FileAccess.Read), "BusinessLetter.docx"));

// Следующий шаг — настройка форматирования объекта заголовка.
var runIndex = 0;
var fontDto = new Font { Bold = true, Name = "Verdana", Size = 16, Color = new XmlColor { Web = "#e0a50d" } };
//  Установить форматирование текста как Engrave
fontDto.Engrave = true;
// Применить форматирование к первому абзацу объекта HeaderFooter
var documentParagraphRunFontRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.UpdateRunFontRequest("BusinessLetter.docx",
    fontDto, "sections/0/headersfooters/1/paragraphs/0", runIndex);
var actual4 = wordsApi.UpdateRunFont(documentParagraphRunFontRequest);
заголовок

Image showing preview of Header after text formatting has been applied.

Обновить форматирование существующего объекта нижнего колонтитула

API также предлагает функцию обновления форматирования содержимого внутри существующего объекта Header / Footer. Чтобы выполнить это требование, мы можем использовать указанные выше строки кода, но единственное отличие заключается в изменении индекса headerfooter на 2. См. следующую строку кода.

// Apply formatting to first paragraph of HeaderFooter object
var FooterDocumentParagraphRunFontRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.UpdateRunFontRequest("BusinessLetter.docx", 
FooterFontDto, "sections/0/headersfooters/2/paragraphs/0", FooterrunIndex);
заголовок

Image displaying the change in Footer text formatting.

Добавить информацию о номере страницы в раздел нижнего колонтитула

Номера страниц предоставляют очень полезную информацию, такую как текущая страница и общее количество страниц в документе. Следующие шаги определяют, как выполнить требования.

  1. Сначала создаем объект класса PageNumber, где определяем выравнивание текста, формат текста, место отображения информации PageNumber, а также указываем, нужно ли отображать PageNumber на первой странице или нет.
  2. Создайте объект InsertPageNumbersRequest и передайте объект PageNumber в качестве аргумента.
  3. Наконец, вызовите метод InsertPageNumbers(..), чтобы добавить InsertPageNumbersRequest к экземпляру WordsApi.
string MyAppKey = "xxxxxxxx";    // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = "xxxxxxxxx";   // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// создать объект WordsAPI, передавая информацию AppKey и AppSid
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

// загрузить образец документа в облачное хранилище
wordsApi.UploadFile(new UploadFileRequest(new System.IO.FileStream("/Users/nayyershahbaz/Documents/BusinessLetter.docx", 
    FileMode.Open, FileAccess.Read), "BusinessLetter.docx"));

// API также предлагает возможность добавлять данные о номере страницы в объект HeaderFooter.
// Добавить информацию о номере страницы в правом нижнем углу страницы
var body = new PageNumber { Alignment = "right", Format = "{PAGE} of {NUMPAGES}", IsTop = false, SetPageNumberOnFirstPage = true };
var insertPageNumbersRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.InsertPageNumbersRequest("BusinessLetter.docx", body);
// Вставить информацию PageNumber в документ Word
var actual6 = wordsApi.InsertPageNumbers(insertPageNumbersRequest);
заголовок

Preview Page number in the footer section.

Заключение

В этой статье мы изучили шаги по добавлению верхнего и нижнего колонтитула в документ Word с помощью Aspose.Words Cloud SDK для .NET. Обратите внимание, что у нас также есть Cloud SDK для Java, PHP, Ruby, Python, Go, Swift, C++, Node.Js, Android. Для получения более подробной информации посетите Aspose.Words Cloud.

Похожие статьи

Мы также рекомендуем посетить следующие сайты, чтобы узнать больше о