L’intestazione è una sezione del documento che appare nel margine superiore e generalmente contiene informazioni come il numero di pagina, la data e il nome del documento. Con Aspose.Words REST APIs puoi inserire il numero di pagina nel documento Word così come le intestazioni di pagina. Per impostazione predefinita, le intestazioni sono le stesse su ogni pagina, ma possiamo creare intestazioni diverse per le pagine dispari e pari.

Questo post si propone di ottenere il seguente layout del documento, in cui l’intestazione della prima pagina è diversa da quella delle altre pagine:

Inserisci il numero di pagina
Inserisci intestazione

Prima di chiamare qualsiasi API REST di Aspose, dobbiamo creare un account Aspose Cloud e ottenere la nostra chiave app e il nostro SID app. L’articolo Introduzione spiega come eseguire questi passaggi.

Inoltre, dobbiamo caricare il documento di esempio su Cloud Storage poiché tutte le operazioni sul documento verranno eseguite nel Cloud:

// Per un esempio completo e un file di dati, visitare 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";

// Carica il documento sorgente su Cloud Storage
PutCreateRequest request = new PutCreateRequest(fileName, File.OpenRead(@"c:\Data\" + fileName), null, null);
storageApi.PutCreate(request);

Inserisci intestazione in un documento Word

Inserisci intestazione piè di pagina L’API aggiunge intestazioni in un documento e il suo parametro headerFooterType può assumere uno dei seguenti sei valori:

  • HeaderFirst - Intestazione per la prima pagina della sezione.
  • HeaderPrimary - Intestazione primaria, utilizzata anche per le pagine dispari.
  • HeaderEven - Intestazione per le pagine pari.
  • FooterFirst - Piè di pagina per la prima pagina della sezione.
  • FooterPrimary - Piè di pagina primario, utilizzato anche per le pagine dispari.
  • FooterEven - Piè di pagina per le pagine pari.

Si prega di utilizzare il valore HeaderFirst per inserire l’intestazione nella prima pagina:

// Per un esempio completo e un file di dati, visitare 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

// Inserisci intestazione per la prima pagina
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderFirst", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

e il valore HeaderPrimary per inserire l’intestazione nel resto delle pagine:

// Per un esempio completo e un file di dati, visitare https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs

// Inserisci intestazione per tutte le altre pagine
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderPrimary", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

Poiché la prima intestazione è diversa dalle altre, impostare il valore del parametro DifferentFirstPageHeaderFooter su true come mostrato di seguito:

// Per un esempio completo e un file di dati, visitare 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);

Dopo l’esecuzione del frammento di codice sopra, sono stati aggiunti paragrafi vuoti alle intestazioni del documento. Ora, per aggiungere testo a queste intestazioni, utilizzeremo l’API Insert Paragraph. Il codice mostrato di seguito aggiunge il testo “Aspose” nella prima intestazione e il testo “Cloud File Format APIs” in tutte le altre intestazioni:

// Per un esempio completo e un file di dati, visitare 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);

Applicare la formattazione al testo di un’intestazione

La formattazione può essere applicata al testo di un’intestazione usando l’API Update Run Font. L’API accetta l’oggetto fontDto nel suo corpo, i cui dettagli sulle Resource Properties sono forniti nell’articolo Update font properties for text in a Word document. Il seguente codice imposta la famiglia di font del testo dell’intestazione su Verdana, la dimensione del testo su 14 e il colore del testo su nero.

// Per un esempio completo e un file di dati, visitare 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" }  };

// Applica la formattazione all'intestazione della prima pagina
var documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/1/paragraphs/0", runIndex);
var actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

// Applica la formattazione all'intestazione di tutte le altre pagine
documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/0/paragraphs/0", runIndex);
actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

Dopo aver effettuato le chiamate API di cui sopra, il documento di input appare come segue:

Inserire i numeri di pagina in un documento Word

InsertPageNumbers L’API viene utilizzata per inserire numeri di pagina in un documento Word. L’API accetta il seguente oggetto JSON nel suo corpo:

{
  "Format": "string",
  "Alignment": "string",
  "IsTop": true,
  "SetPageNumberOnFirstPage": true
}

Poiché stiamo aggiungendo numeri di pagina nell’intestazione, imposteremo il valore del parametro IsTop su true. Tuttavia, per aggiungere numeri di pagina nel piè di pagina, imposta il valore su false.

// Per un esempio completo e un file di dati, visitare 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);

Infine, abbiamo aggiunto intestazioni e numeri di pagina al documento.

Post suggerito:

Ti consigliamo inoltre di leggere i seguenti post del blog per saperne di più su: