De header is een sectie van het document die in de bovenste marge verschijnt en over het algemeen informatie bevat zoals het paginanummer, de datum en de documentnaam. Met Aspose.Words REST API’s kunt u paginanummers in Word-documenten invoegen, evenals paginaheaders. Standaard zijn de headers op elke pagina hetzelfde, maar we kunnen verschillende headers maken voor oneven en even pagina’s.

Met dit bericht willen we de volgende lay-out van het document bereiken, waarbij de koptekst op de eerste pagina verschilt van de rest van de pagina’s:

Paginanummer invoegen
Koptekst invoegen

Voordat we een Aspose REST API aanroepen, moeten we een Aspose Cloud-account aanmaken en onze app-sleutel en app-SID verkrijgen. In het artikel Aan de slag wordt uitgelegd hoe u deze stappen uitvoert.

Bovendien moeten we het voorbeelddocument uploaden naar de Cloud Storage, omdat alle bewerkingen op het document in de Cloud worden uitgevoerd:

// Voor een compleet voorbeeld en databestand, ga naar 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";

// Brondocument uploaden naar Cloudopslag
PutCreateRequest request = new PutCreateRequest(fileName, File.OpenRead(@"c:\Data\" + fileName), null, null);
storageApi.PutCreate(request);

Koptekst invoegen in een Word-document

Insert Header Footer API voegt headers toe aan een document en de headerFooterType-parameter kan een van de volgende zes waarden aannemen:

  • HeaderFirst - Koptekst voor de eerste pagina van de sectie.
  • HeaderPrimary - Primaire header, ook gebruikt voor oneven genummerde pagina’s.
  • HeaderEven - Koptekst voor even genummerde pagina’s.
  • FooterFirst - Voettekst voor de eerste pagina van de sectie.
  • FooterPrimary - Primaire voettekst, ook gebruikt voor oneven genummerde pagina’s.
  • FooterEven - Voettekst voor even genummerde pagina’s.

Gebruik de waarde HeaderFirst om een koptekst op de eerste pagina in te voegen:

// Voor een compleet voorbeeld en databestand, ga naar 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

// Koptekst invoegen voor de eerste pagina
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderFirst", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

en HeaderPrimary-waarde om een koptekst in de rest van de pagina’s in te voegen:

// Voor een compleet voorbeeld en databestand, ga naar https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs

// Koptekst invoegen voor alle andere pagina's
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderPrimary", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

Omdat de eerste header verschilt van de andere headers, stelt u de parameterwaarde DifferentFirstPageHeaderFooter in op true, zoals hieronder weergegeven:

// Voor een compleet voorbeeld en databestand, ga naar 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);

Na de uitvoering van bovenstaand codefragment zijn lege paragrafen toegevoegd aan de headers van het document. Om tekst toe te voegen aan deze headers, gebruiken we nu Insert Paragraph API. De onderstaande code voegt “Aspose”-tekst toe aan de eerste header en “Cloud File Format APIs”-tekst aan alle andere headers:

// Voor een compleet voorbeeld en databestand, ga naar 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);

Opmaak toepassen op de tekst van een koptekst

Opmaak kan worden toegepast op de tekst van een header met behulp van de Update Run Font API. De API accepteert fontDto-objecten in de body, waarvan de details van de Resource Properties worden gegeven in het artikel Update font properties for text in a Word document. De volgende code stelt het lettertype van de headertekst in op Verdana, de tekstgrootte op 14 en de tekstkleur op zwart.

// Voor een compleet voorbeeld en databestand, ga naar 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" }  };

// Opmaak toepassen op de koptekst van de eerste pagina
var documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/1/paragraphs/0", runIndex);
var actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

// Opmaak toepassen op de koptekst van alle andere pagina's
documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/0/paragraphs/0", runIndex);
actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

Nadat u de bovenstaande API-aanroepen hebt uitgevoerd, ziet het invoerdocument er als volgt uit:

Paginanummers invoegen in een Word-document

InsertPageNumbers API wordt gebruikt om paginanummers in een Word-document in te voegen. De API accepteert het volgende JSON-object in zijn body:

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

Omdat we paginanummers toevoegen in de header, stellen we de waarde van de IsTop-parameter in op true. Om paginanummers toe te voegen in de footer, stelt u de waarde echter in op false.

// Voor een compleet voorbeeld en databestand, ga naar 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);

Ten slotte hebben we kopteksten en paginanummers aan het document toegevoegd.

Voorgestelde post:

Wij raden u ook aan de volgende blogberichten te lezen voor meer informatie over: