Die Kopfzeile ist ein Abschnitt des Dokuments, der im oberen Rand angezeigt wird und im Allgemeinen Informationen wie Seitenzahl, Datum und Dokumentname enthält. Mit Aspose.Words REST APIs können Sie sowohl Seitenzahlen als auch Seitenkopfzeilen in Word Dokumente einfügen. Standardmäßig sind die Kopfzeilen auf jeder Seite gleich, aber wir können unterschiedliche Kopfzeilen für ungerade und gerade Seiten erstellen.

Ziel dieses Beitrags ist es, das folgende Layout des Dokuments zu erreichen, bei dem sich die Kopfzeile auf der ersten Seite von den übrigen Seiten unterscheidet:

Seitenzahl einfügen
Kopfzeile einfügen

Bevor wir eine Aspose REST API aufrufen können, müssen wir ein Aspose Cloud-Konto erstellen und unseren App-Schlüssel und unsere App-SID abrufen. Der Artikel Erste Schritte erklärt, wie diese Schritte durchgeführt werden.

Darüber hinaus müssen wir das Beispieldokument in den Cloud-Speicher hochladen, da alle Operationen am Dokument in der Cloud ausgeführt werden:

// Ein vollständiges Beispiel und eine Datendatei finden Sie unter 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";

// Quelldokument in den Cloud-Speicher hochladen
PutCreateRequest request = new PutCreateRequest(fileName, File.OpenRead(@"c:\Data\" + fileName), null, null);
storageApi.PutCreate(request);

Kopfzeile in ein Word Dokument einfügen

Die API Kopf und Fußzeile einfügen fügt Kopfzeilen in ein Dokument ein. Der Parameter headerFooterType kann einen der folgenden sechs Werte annehmen:

  • HeaderFirst – Kopfzeile für die erste Seite des Abschnitts.
  • HeaderPrimary – Primäre Kopfzeile, wird auch für Seiten mit ungeraden Nummern verwendet.
  • HeaderEven – Kopfzeile für Seiten mit geraden Seitenzahlen.
  • FooterFirst – Fußzeile für die erste Seite des Abschnitts.
  • FooterPrimary – Primäre Fußzeile, wird auch für Seiten mit ungeraden Nummern verwendet.
  • FooterEven – Fußzeile für Seiten mit geraden Seitenzahlen.

Bitte verwenden Sie den HeaderFirst-Wert, um eine Kopfzeile auf der ersten Seite einzufügen:

// Ein vollständiges Beispiel und eine Datendatei finden Sie unter 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

// Kopfzeile für die erste Seite einfügen
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderFirst", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

und HeaderPrimary-Wert zum Einfügen einer Kopfzeile auf den restlichen Seiten:

// Ein vollständiges Beispiel und eine Datendatei finden Sie unter https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs.

// Kopfzeile für alle anderen Seiten einfügen
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderPrimary", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

Da sich die erste Kopfzeile von den anderen unterscheidet, setzen Sie den Parameterwert DifferentFirstPageHeaderFooter wie unten gezeigt auf „true“:

// Ein vollständiges Beispiel und eine Datendatei finden Sie unter 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);

Nach der Ausführung des obigen Codeausschnitts wurden den Kopfzeilen des Dokuments leere Absätze hinzugefügt. Um diesen Kopfzeilen nun Text hinzuzufügen, verwenden wir die API Absatz einfügen. Der unten gezeigte Code fügt den Text „Aspose“ in die erste Kopfzeile und den Text „Cloud File Format APIs“ in alle anderen Kopfzeilen ein:

// Ein vollständiges Beispiel und eine Datendatei finden Sie unter 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);

Formatierung auf den Text einer Kopfzeile anwenden

Die Formatierung kann auf den Text einer Kopfzeile mithilfe der API Update Run Font angewendet werden. Die API akzeptiert in ihrem Textkörper ein fontDto Objekt, dessen Ressourceneigenschaften im Artikel Aktualisieren der Schrifteigenschaften für Text in einem Word Dokument beschrieben sind. Der folgende Code setzt die Schriftfamilie des Kopfzeilentexts auf Verdana, die Textgröße auf 14 und die Textfarbe auf Schwarz.

// Ein vollständiges Beispiel und eine Datendatei finden Sie unter 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" }  };

// Formatierung auf die Kopfzeile der ersten Seite anwenden
var documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/1/paragraphs/0", runIndex);
var actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

// Formatierung auf die Kopfzeile aller anderen Seiten anwenden
documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/0/paragraphs/0", runIndex);
actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

Nach den oben genannten API-Aufrufen sieht das Eingabedokument wie folgt aus:

Seitenzahlen in ein Word Dokument einfügen

Die API InsertPageNumbers wird verwendet, um Seitenzahlen in ein Word Dokument einzufügen. Die API akzeptiert das folgende JSON Objekt in ihrem Textkörper:

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

Da wir Seitenzahlen in der Kopfzeile hinzufügen, setzen wir den Wert des Parameters IsTop auf „true“. Um jedoch Seitenzahlen in der Fußzeile hinzuzufügen, setzen wir den Wert auf „false“.

// Ein vollständiges Beispiel und eine Datendatei finden Sie unter 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);

Abschließend haben wir dem Dokument Kopfzeilen und Seitenzahlen hinzugefügt.

Vorgeschlagener Beitrag:

Wir empfehlen Ihnen außerdem, die folgenden Blogbeiträge zu lesen, um mehr über Folgendes zu erfahren: