A quick view of MS Word document transformation.

A quick view of MS Word document transformation.

Um cabeçalho é a margem superior de cada página, e um rodapé é a margem inferior de cada página. Cabeçalhos e rodapés são úteis para incluir informações que você deseja exibir em todas as páginas de um documento, como seu nome, datas, título do documento, números de página ou isenções de responsabilidade para documentos. Ao usar o MS Word, ele fornece os recursos para adicionar Cabeçalho e Rodapés com base em layouts predefinidos ou permite que você adicione cabeçalhos e rodapés personalizados. A maioria dos cabeçalhos integrados contém algum texto de espaço reservado e você pode manter o texto de espaço reservado ou substituí-lo pelo seu próprio feed de dados. Além disso, ao atualizar as informações na seção Cabeçalho ou Rodapé, o conteúdo dentro do corpo principal do documento fica esmaecido, o que indica que esses objetos estão totalmente isolados do restante do conteúdo da página e a operação que você executa nesses objetos é específica para essas áreas. Neste artigo, aprenderemos as etapas sobre como adicionar ou atualizar o rodapé do cabeçalho no documento do Word usando a API REST.

API de processamento de texto

Aspose.Words Cloud API fornece os recursos para carregar arquivos MS Word do armazenamento em nuvem, bem como permite que o usuário passe o arquivo de entrada diretamente no corpo da solicitação e a API retorna o arquivo atualizado no objeto de resposta. Ele fornece os recursos para Ler, Adicionar, Atualizar ou Excluir objetos Cabeçalho e Rodapé específicos ou todos. Além disso, você também pode especificar para renderizar diferentes cabeçalhos/rodapés para a primeira página e para páginas pares/ímpares.

Além disso, a API também permite que você defina informações de formatação, como propriedades de fonte e parágrafo para o texto do cabeçalho/rodapé. Você também obtém a alavancagem para inserir números de página dinâmicos na seção de cabeçalho/rodapé. Por último, mas não menos importante, você pode considerar usar objetos de tabela para fazer uma parte do texto do cabeçalho/rodapé se alinhar à borda esquerda e a outra à borda direita.

Âmbito do artigo

Nosso Aspose.Words Cloud SDK para .NET permite que você trabalhe com Aspose.Words Cloud REST APIs de forma rápida e fácil, pois ele cuida de muitos detalhes de baixo nível sobre como fazer solicitações e lidar com respostas e permite que você se concentre em escrever código específico para seus requisitos de negócios. Neste artigo, usaremos Aspose.Words Cloud SDK para .NET no Visual Studio para Mac. Esta postagem define as etapas para inserir Cabeçalho Rodapé em Documento do Word onde a formatação personalizada será definida. Em seguida, a formatação do conteúdo do Rodapé existente é atualizada e as informações do PageNumber são inseridas na posição Inferior Direita. Todas essas operações serão realizadas na nuvem.

Instalação

Para começar, primeiro você precisa instalar o Visual Studio no seu sistema. Crie uma solução de amostra e adicione a referência NuGet de Aspose.Words Cloud SDK para .NET. Então, para adicionar uma referência, clique com o botão direito do mouse na solução e selecione a opção de menu Gerenciar Pacotes NuGet…. Insira Aspose.Words-Cloud no campo de texto de pesquisa. Selecione a opção e clique no botão Adicionar pacote.

Agora a referência Aspose.Words.Cloud.Sdk aparece na solução. Há alguns benefícios em usar APIs de nuvem em contraste com APIs locais (aspose.com).O motivo é que você não precisa acompanhar e atualizar manualmente as versões da API e não precisa pagar pela licença inteira.

Painel do Aspose.Cloud

Basta criar uma conta no painel Aspose.Cloud ou inscrever-se por meio de sua conta existente do Google ou GitHub e começar a usar nossas APIs de nuvem. Outro recurso incrível das APIs de nuvem é que você pode usá-las em qualquer plataforma usando qualquer linguagem suportada.

Conforme indicado acima, o artigo enfatiza opções relacionadas à adição e atualização de objetos Header e Footer dentro de documentos do MS Word. Para fins de teste, usamos um modelo de documento do MS Word existente com o nome Business Letter. O documento precisa ser carregado no armazenamento em nuvem Aspose e toda a manipulação e processamento do documento serão realizados na nuvem. Assim que todo o processamento for concluído, também podemos baixar a cópia do arquivo resultante do armazenamento em nuvem.

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

Agora, para usar as APIs do Aspose.Cloud, você precisa usar as informações de App Key e App SID no seu código. Essas chaves são compostas de dígitos alfanuméricos. Esses são códigos exclusivos associados à sua conta de assinatura. Para obter esses detalhes, clique na aba My Apps no painel do Aspose.Cloud. Assim que tivermos as Keys, precisamos inicializar o objeto da API do 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);

Inserir objeto Cabeçalho

Para adicionar o objeto de cabeçalho dentro do arquivo do MS Word, precisamos executar as seguintes operações em sequência.

  1. Crie um objeto de InsertHeaderFooterRequest onde passamos o tipo HeaderFooterLink como argumento.
  2. Insira o objeto HeaderFooterRequest no objeto WordsApi usando o método InsertHeaderFooter (…).
  3. Crie um objeto Run que contenha informações de texto de amostra.
  4. Crie um objeto InsertRunRequest onde passamos a referência do parágrafo (SectionPath) no objeto HeaderFooter, onde o texto Run precisa ser adicionado.
    Em seguida, chame o método InsertRun (…) do WordsApi, que adiciona o RunRequest ao objeto HeaderFooter.

HeaderFooter.TypeEnum pode ser qualquer um dos seguintes valores.

string MyAppKey = "xxxxxxxx";    // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = "xxxxxxxxx";   // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// crie um objeto de WordsAPI ao passar informações de AppKey e AppSid
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

// carregar documento de amostra para armazenamento em nuvem
wordsApi.UploadFile(new UploadFileRequest(new System.IO.FileStream("/Users/nayyershahbaz/Documents/BusinessLetter.docx", 
    FileMode.Open, FileAccess.Read), "BusinessLetter.docx"));

// Inserir objeto de cabeçalho na primeira página
var putHeaderFooterRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.InsertHeaderFooterRequest("BusinessLetter.docx", "HeaderFirst", null,null);  
var actual = wordsApi.InsertHeaderFooter(putHeaderFooterRequest);
// Criar objeto Run contendo texto de amostra
var run = new Run { Text = "Aspose.Words Cloud SDK for .NET " };
// adicione o texto Executar ao primeiro parágrafo do primeiro objeto HeaderFooter na primeira seção do documento do Word
var runRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.InsertRunRequest("BusinessLetter.docx", "sections/0/headersfooters/1/paragraphs/0", run);
// Insira o RunRequest no documento do Word
var actual2 = wordsApi.InsertRun(runRequest);
Image showing preview of recently added Header

Image showing preview of recently added Header

Atualizar formatação de texto do cabeçalho recém-inserido

Depois que o objeto Header for adicionado, podemos atualizar a formatação de texto do conteúdo dentro dele. Para cumprir esse requisito, precisamos executar as seguintes etapas.

  1. Crie um objeto da classe Font, onde especificamos o nome da fonte, tamanho e informações de cor.
  2. Para tornar o texto mais apresentável, marque a propriedade Engrave como True.
  3. Crie um objeto da classe UpdateRunFontRequest onde passamos o arquivo de entrada, Font, SectionPath e runIndex como argumento.
  4. Por fim, use o método UpdateRunFont(..) e adicione o objeto UpdateRunFontRequest à instância 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/
// crie um objeto de WordsAPI ao passar informações de AppKey e AppSid
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

// carregar documento de amostra para armazenamento em nuvem
wordsApi.UploadFile(new UploadFileRequest(new System.IO.FileStream("/Users/nayyershahbaz/Documents/BusinessLetter.docx", 
    FileMode.Open, FileAccess.Read), "BusinessLetter.docx"));

// O próximo passo é definir a formatação do objeto Header
var runIndex = 0;
var fontDto = new Font { Bold = true, Name = "Verdana", Size = 16, Color = new XmlColor { Web = "#e0a50d" } };
//  Definir formatação do texto como Gravar
fontDto.Engrave = true;
// Aplicar formatação ao primeiro parágrafo do objeto 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.

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

A API também oferece o recurso para atualizar a formatação do conteúdo dentro do objeto Header / Footer existente. Para cumprir esse requisito, podemos usar as linhas de código especificadas acima, mas a única diferença é a alteração do índice headerfooter para 2. Veja a seguinte linha de código.

// 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.

Image displaying the change in Footer text formatting.

Adicionar informações PageNumber na seção de rodapé

Os números de página fornecem informações muito úteis, como a página atual e o número total de páginas em um documento. As etapas a seguir definem como cumprir os requisitos.

  1. Primeiro, crie um objeto da classe PageNumber, onde definimos o alinhamento do texto, o formato do texto, o local para renderizar as informações do PageNumber e também especificamos se o PageNumber precisa ser renderizado na primeira página ou não.
  2. Crie o objeto InsertPageNumbersRequest e passe o objeto PageNumber como argumento.
  3. Por fim, chame o método InsertPageNumbers(..) para adicionar InsertPageNumbersRequest à instância 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/
// crie um objeto de WordsAPI ao passar informações de AppKey e AppSid
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

// carregar documento de amostra para armazenamento em nuvem
wordsApi.UploadFile(new UploadFileRequest(new System.IO.FileStream("/Users/nayyershahbaz/Documents/BusinessLetter.docx", 
    FileMode.Open, FileAccess.Read), "BusinessLetter.docx"));

// A API também oferece o recurso de adicionar detalhes do número da página no objeto HeaderFooter
// Adicionar informações de número de página no canto inferior direito da página
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);
// Inserir informações PageNumber dentro do documento Word
var actual6 = wordsApi.InsertPageNumbers(insertPageNumbersRequest);
Preview Page number in the footer section.

Preview Page number in the footer section.

Conclusão

Neste artigo, aprendemos as etapas sobre como adicionar um Cabeçalho Rodapé em um Documento do Word usando Aspose.Words Cloud SDK para .NET. Observe que também temos Cloud SDKs disponíveis para Java, PHP, Ruby, Python, Go, Swift, C++, Node.Js, Android. Para mais detalhes, visite Aspose.Words Cloud.

Artigos relacionados

Também recomendamos visitar o seguinte para saber mais sobre