Arbeiten mit Kopf- und Fußzeilen

Mit Aspose.Words können Benutzer mit Kopf- und Fußzeilen in einem Dokument arbeiten. Eine Kopfzeile ist Text, der oben auf einer Seite platziert wird, und eine Fußzeile ist Text, der unten auf einer Seite platziert wird. 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.

Erstellen Sie Kopf- oder Fußzeilen mit DocumentBuilder

Wenn Sie eine Kopf- oder Fußzeile eines Dokuments programmgesteuert hinzufügen möchten, ist es am einfachsten, die DocumentBuilder-Klasse zu verwenden.

Das folgende Codebeispiel zeigt, wie man eine Kopf- und Fußzeile für Dokumentseiten hinzufügt:

Geben Sie Kopf- oder Fußzeilenoptionen an

Wenn Sie einem Dokument eine Kopf- oder Fußzeile hinzufügen, können Sie einige erweiterte Eigenschaften festlegen. Aspose.Words stellt Benutzern die HeaderFooter- und HeaderFooterCollection-Klassen sowie die HeaderFooterType-Aufzählung zur Verfügung, die Ihnen mehr Kontrolle über den Anpassungsprozess von Kopf- und Fußzeilen geben.

Geben Sie den Kopf- oder Fußzeilentyp an

Sie können für ein Dokument drei verschiedene Kopfzeilentypen und drei verschiedene Fußzeilentypen angeben:

  1. Kopf- und/oder Fußzeile für die erste Seite
  2. Kopf- und/oder Fußzeile für gerade Seiten
  3. Kopf- und/oder Fußzeile für ungerade Seiten

Das folgende Codebeispiel zeigt, wie man eine Kopfzeile für ungerade Dokumentseiten hinzufügt:

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 different_first_page_header_footer-Flag auf true setzen und dann den HeaderFirst- oder FooterFirst-Wert 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-Python-via-.NET.git.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.page_setup.different_first_page_header_footer = True
builder.move_to_header_footer(aw.HeaderFooterType.HEADER_FIRST)
builder.write("Header for the first page.")
builder.move_to_header_footer(aw.HeaderFooterType.FOOTER_FIRST)
builder.write("Footer for the first page.")
builder.move_to_section(0)
builder.writeln("Page 1")
builder.insert_break(aw.BreakType.PAGE_BREAK)
builder.writeln("Page 2")
doc.save(ARTIFACTS_DIR + "WorkingWithHeadersAndFooters.different_first_page.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 für ungerade und gerade Seiten in einem Dokument unterschiedliche Kopf- oder Fußzeilen festlegen. Dazu müssen Sie das odd_and_even_pages_header_footer-Flag auf true setzen und anschließend die Werte HeaderPrimary und HeaderEven bzw. FooterPrimary und FooterEven angeben.

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.page_setup.odd_and_even_pages_header_footer = True
builder.move_to_header_footer(aw.HeaderFooterType.HEADER_EVEN)
builder.write("Header for even pages.")
builder.move_to_header_footer(aw.HeaderFooterType.HEADER_PRIMARY)
builder.write("Header for odd pages.")
builder.move_to_header_footer(aw.HeaderFooterType.FOOTER_EVEN)
builder.write("Footer for even pages.")
builder.move_to_header_footer(aw.HeaderFooterType.FOOTER_PRIMARY)
builder.write("Footer for odd pages.")
builder.move_to_section(0)
builder.writeln("Page 1")
builder.insert_break(aw.BreakType.PAGE_BREAK)
builder.writeln("Page 2")
doc.save(ARTIFACTS_DIR + "WorkingWithHeadersAndFooters.odd_even_pages.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 HeaderPrimary-Kopfzeilentyp oder den FooterPrimary-Fußzeilentyp und die insert_image-Methode.

Das folgende Codebeispiel zeigt, wie man einem Header ein Bild hinzufügt:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.move_to_header_footer(aw.HeaderFooterType.HEADER_PRIMARY)
builder.insert_image(IMAGES_DIR + "Logo.jpg",
aw.drawing.RelativeHorizontalPosition.RIGHT_MARGIN,
10, aw.drawing.RelativeVerticalPosition.PAGE, 10, 50, 50,
aw.drawing.WrapType.THROUGH)
doc.save(ARTIFACTS_DIR + "WorkingWithHeadersAndFooters.insert_image.docx")
view raw insert-image.py hosted with ❤ by GitHub

Legen Sie Schriftart- und Absatzeigenschaften für Kopf- oder Fußzeilentext fest

Mit Aspose.Words können Sie die Schriftart- und Absatzeigenschaften festlegen, den HeaderPrimary-Kopfzeilentyp oder den FooterPrimary-Fußzeilentyp verwenden sowie Methoden und Eigenschaften für die Arbeit mit den Schriftarten und Absätzen, die Sie für den Dokumentkörper verwenden.

Das folgende Codebeispiel zeigt, wie der Text in der Kopfzeile auf Arial, Fett, Größe 14 und zentrierte Ausrichtung eingestellt wird:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.move_to_header_footer(aw.HeaderFooterType.HEADER_PRIMARY)
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER
builder.font.name = "Arial"
builder.font.bold = True
builder.font.size = 14
builder.write("Header for pages.")
doc.save(ARTIFACTS_DIR + "WorkingWithHeadersAndFooters.font_props.docx")
view raw font-props.py hosted with ❤ by GitHub

Fügen Sie Seitenzahlen in die Kopf- oder Fußzeile ein

Bei Bedarf können Sie der Kopf- oder Fußzeile Seitenzahlen hinzufügen. Verwenden Sie dazu den HeaderPrimary-Header-Typ oder den FooterPrimary-Footer-Typ und die insert_field-Methode, um das erforderliche Feld hinzuzufügen.

Das folgende Codebeispiel zeigt, wie man der Fußzeile rechts Seitenzahlen hinzufügt:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.move_to_header_footer(aw.HeaderFooterType.FOOTER_PRIMARY)
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER
builder.write("Page ")
builder.insert_field("PAGE", "")
builder.write(" of ")
builder.insert_field("NUMPAGES", "")
doc.save(ARTIFACTS_DIR + "WorkingWithHeadersAndFooters.page_numbers.docx")
view raw page-numbers.py hosted with ❤ by GitHub

Verwenden Sie die im vorherigen Abschnitt definierten Kopf- oder Fußzeilen

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:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
@staticmethod
def copy_headers_footers_from_previous_section(section):
"""Clones and copies headers/footers form the previous section to the specified section."""
previous_section = section.previous_sibling.as_section()
if previous_section is None:
return
section.headers_footers.clear()
for header_footer in previous_section.headers_footers:
section.headers_footers.add(header_footer.clone(True))

Stellen Sie sicher, dass die Kopf- oder Fußzeile angezeigt wird, wenn Sie unterschiedliche Seitenausrichtungen und Seitengrößen verwenden

Mit Aspose.Words können Sie das Erscheinungsbild einer Kopf- oder Fußzeile bereitstellen, 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 Kopfzeilen und bis zu drei Fußzeilen haben (für die erste, gerade und ungerade Seite). 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. Auf ähnliche Weise können Sie nur Header entfernen:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document(MY_DIR + "Header and footer types.docx")
for section in doc:
section = section.as_section()
# Up to three different footers are possible in a section (for first, even and odd pages)
# we check and delete all of them.
footer = section.headers_footers.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_FIRST)
if footer is not None:
footer.remove()
# Primary footer is the footer used for odd pages.
footer = section.headers_footers.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_PRIMARY)
if footer is not None:
footer.remove()
footer = section.headers_footers.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_EVEN)
if footer is not None:
footer.remove()
doc.save(ARTIFACTS_DIR + "RemoveContent.remove_footers.docx")