Arbeiten mit Kopf- und Fußzeilen
Aspose.Words ermöglicht Benutzern das Arbeiten mit Kopf- und Fußzeilen in einem Dokument. Eine Kopfzeile ist Text, der oben auf einer Seite platziert wird, und eine Fußzeile ist Text am Ende einer Seite. In der Regel werden diese Bereiche zum Einfügen von Informationen verwendet, die auf allen oder einigen Seiten des Dokuments wiederholt werden sollen, z. B. Seitenzahlen, Erstellungsdatum, Unternehmensinformationen usw.
Kopf- oder Fußzeilen mit DocumentBuilder erstellen
Wenn Sie eine Dokumentkopf- oder -fußzeile programmgesteuert hinzufügen möchten, verwenden Sie dazu am einfachsten die Klasse DocumentBuilder.
Das folgende Codebeispiel zeigt, wie Sie eine Kopf- und Fußzeile für Dokumentseiten hinzufügen:
Kopf- oder Fußzeilenoptionen angeben
Wenn Sie einem Dokument eine Kopf- oder Fußzeile hinzufügen, können Sie einige erweiterte Eigenschaften festlegen. Aspose.Words bietet Benutzern die Klassen HeaderFooter und HeaderFooterCollection sowie die HeaderFooterType-Aufzählung, mit der Sie mehr Kontrolle über den Anpassungsprozess für Kopf- und Fußzeilen haben.
Geben Sie den Kopf- oder Fußzeilentyp an
Sie können drei verschiedene Kopfzeilentypen und drei verschiedene Fußzeilentypen für ein Dokument angeben:
- Kopf- und/oder Fußzeile für die erste Seite
- Kopf- und/oder Fußzeile für gerade Seiten
- Kopf- und / oder Fußzeile für ungerade Seiten
Das folgende Codebeispiel zeigt, wie Sie eine Kopfzeile für ungerade Dokumentseiten hinzufügen:
Geben Sie an, ob für die erste Seite unterschiedliche Kopf- oder Fußzeilen angezeigt werden sollen
Wie oben erwähnt, können Sie für die erste Seite auch eine andere Kopf- oder Fußzeile festlegen. Dazu müssen Sie das Flag DifferentFirstPageHeaderFooter auf true
setzen und dann den Wert HeaderFirst oder FooterFirst angeben.
Das folgende Codebeispiel zeigt, wie die Kopfzeile nur für die erste Seite festgelegt wird:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
// Specify that we want different headers and footers for first page. | |
builder->get_PageSetup()->set_DifferentFirstPageHeaderFooter(true); | |
builder->MoveToHeaderFooter(HeaderFooterType::HeaderFirst); | |
builder->Write(u"Header for the first page."); | |
builder->MoveToHeaderFooter(HeaderFooterType::FooterFirst); | |
builder->Write(u"Footer for the first page."); | |
builder->MoveToSection(0); | |
builder->Writeln(u"Page 1"); | |
builder->InsertBreak(BreakType::PageBreak); | |
builder->Writeln(u"Page 2"); | |
doc->Save(ArtifactsDir + u"WorkingWithHeadersAndFooters.DifferentFirstPage.docx"); |
Geben Sie an, ob für ungerade oder gerade Seiten unterschiedliche Kopf- oder Fußzeilen angezeigt werden sollen
Als nächstes möchten Sie verschiedene Kopf- oder Fußzeilen für ungerade und gerade Seiten in einem Dokument festlegen. Dazu müssen Sie das Flag OddAndEvenPagesHeaderFooter auf true
setzen und dann die Werte HeaderPrimary und HeaderEven oder FooterPrimary und FooterEven angeben.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
// Specify that we want different headers and footers for even and odd pages. | |
builder->get_PageSetup()->set_OddAndEvenPagesHeaderFooter(true); | |
builder->MoveToHeaderFooter(HeaderFooterType::HeaderEven); | |
builder->Write(u"Header for even pages."); | |
builder->MoveToHeaderFooter(HeaderFooterType::HeaderPrimary); | |
builder->Write(u"Header for odd pages."); | |
builder->MoveToHeaderFooter(HeaderFooterType::FooterEven); | |
builder->Write(u"Footer for even pages."); | |
builder->MoveToHeaderFooter(HeaderFooterType::FooterPrimary); | |
builder->Write(u"Footer for odd pages."); | |
builder->MoveToSection(0); | |
builder->Writeln(u"Page 1"); | |
builder->InsertBreak(BreakType::PageBreak); | |
builder->Writeln(u"Page 2"); | |
doc->Save(ArtifactsDir + u"WorkingWithHeadersAndFooters.OddEvenPages.docx"); |
Fügen Sie ein absolut positioniertes Bild in die Kopfzeile ein
Um ein Bild in einer Kopf- oder Fußzeile zu platzieren, verwenden Sie den Kopfzeilentyp HeaderPrimary oder den Fußzeilentyp FooterPrimary und die Methode InsertImage
.
Das folgende Codebeispiel zeigt, wie Sie einem Header ein Bild hinzufügen:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
builder->MoveToHeaderFooter(HeaderFooterType::HeaderPrimary); | |
builder->InsertImage(ImagesDir + u"Logo.jpg", RelativeHorizontalPosition::RightMargin, 10, | |
RelativeVerticalPosition::Page, 10, 50, 50, WrapType::Through); | |
doc->Save(ArtifactsDir + u"WorkingWithHeadersAndFooters.InsertImage.docx"); |
Festlegen von Schrift- und Absatzeigenschaften für Kopf- oder Fußzeilentext
Mit Aspose.Words können Sie die Schrift- und Absatzeigenschaften festlegen, den Kopfzeilentyp HeaderPrimary oder den Fußzeilentyp FooterPrimary sowie Methoden und Eigenschaften für die Arbeit mit den Schriftarten und Absätzen verwenden, die Sie für den Dokumentkörper verwenden.
Das folgende Codebeispiel zeigt, wie Sie den Text in der Kopfzeile auf Arial, fett, Größe 14 und zentrierte Ausrichtung festlegen:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
builder->MoveToHeaderFooter(HeaderFooterType::HeaderPrimary); | |
builder->get_ParagraphFormat()->set_Alignment(ParagraphAlignment::Center); | |
builder->get_Font()->set_Name(u"Arial"); | |
builder->get_Font()->set_Bold(true); | |
builder->get_Font()->set_Size(14); | |
builder->Write(u"Header for page."); | |
doc->Save(ArtifactsDir + u"WorkingWithHeadersAndFooters.FontProps.docx"); |
Seitenzahlen in die Kopf- oder Fußzeile einfügen
Bei Bedarf können Sie der Kopf- oder Fußzeile Seitenzahlen hinzufügen. Verwenden Sie dazu den Kopfzeilentyp HeaderPrimary oder den Fußzeilentyp FooterPrimary und die Methode InsertField, um das erforderliche Feld hinzuzufügen.
Das folgende Codebeispiel zeigt, wie Sie der Fußzeile rechts Seitenzahlen hinzufügen:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
builder->MoveToHeaderFooter(HeaderFooterType::FooterPrimary); | |
builder->get_ParagraphFormat()->set_Alignment(ParagraphAlignment::Right); | |
builder->Write(u"Page "); | |
builder->InsertField(u"PAGE", u""); | |
builder->Write(u" of "); | |
builder->InsertField(u"NUMPAGES", u""); | |
doc->Save(ArtifactsDir + u"WorkingWithHeadersAndFooters.PageNumbers.docx"); |
Verwenden Sie Kopf- oder Fußzeilen, die im vorherigen Abschnitt definiert wurden
Wenn Sie die Kopf- oder Fußzeile aus dem vorherigen Abschnitt kopieren müssen, können Sie dies auch tun.
Das folgende Codebeispiel zeigt, wie Sie die Kopf- oder Fußzeile aus dem vorherigen Abschnitt kopieren:
Stellen Sie das Erscheinungsbild der Kopf- oder Fußzeile sicher, wenn Sie unterschiedliche Seitenausrichtungen und Seitengrößen verwenden
Aspose.Words ermöglicht es Ihnen, das Erscheinungsbild einer Kopf- oder Fußzeile anzugeben, wenn Sie unterschiedliche Ausrichtungen und Seitengrößen verwenden.
Das folgende Beispiel zeigt, wie das geht:
So entfernen Sie nur Kopf- oder Fußzeilen
Jeder Abschnitt in einem Dokument kann bis zu drei Kopf- und bis zu drei Fußzeilen haben (für erste, gerade und ungerade Seiten). Wenn Sie alle Kopf- oder Fußzeilen in einem Dokument entfernen möchten, müssen Sie alle Abschnitte durchlaufen und jeden entsprechenden Kopf- oder Fußzeilenknoten entfernen.
Das folgende Codebeispiel zeigt, wie Sie alle Fußzeilen aus allen Abschnitten entfernen, die Kopfzeilen jedoch intakt lassen. Sie können nur Header auf ähnliche Weise entfernen: