Verwalten von Präsentations‑Kopf‑ und Fußzeilen in JavaScript

Übersicht

PowerPoint verwendet je nach Folientyp unterschiedliche Kopf- und Fußzeilen-Platzhalter. Aspose.Slides für Node.js über Java ermöglicht es Ihnen, den Text und die Sichtbarkeit dieser Platzhalter über Klassen zur Verwaltung von Kopf- und Fußzeilen zu steuern.

Die verfügbaren Platzhalter hängen vom Geltungsbereich ab:

Umfang Kopfzeile Fußzeile Datum/Zeit Folien-/Seitenzahl
Reguläre Folie Nein Ja Ja Ja
Notizmaster Ja Ja Ja Ja
Notizfolie Ja Ja Ja Ja
Handout-Master Ja Ja Ja Ja

Eine reguläre Präsentationsfolie hat keinen Kopfzeilen-Platzhalter. Kopfzeilen sind auf Notizseiten und Handouts verfügbar. Für reguläre Folien verwenden Sie stattdessen die Fußzeilen-, Datum/Zeit- und Folienzahl-Platzhalter.

Der Geltungsbereich einer Änderung hängt vom verwendeten Manager ab. Die Klasse SlideHeaderFooterManager steuert eine reguläre Folie. Die Klasse NotesSlideHeaderFooterManager steuert eine Notizfolie. Master‑ und Layout‑Manager können Einstellungen auch an abhängige Folien weitergeben, während die Klasse MasterHandoutSlideHeaderFooterManager den Handout‑Master steuert.

Fußzeilen, Datum/Zeit und Folienzahlen auf regulären Folien festlegen

Für reguläre Folien besteht der grundlegende Ablauf darin, den Kopf- und Fußzeilen-Manager jeder Folie aufzurufen, den Fußzeilen- und Datum/Zeit-Text festzulegen, die erforderlichen Platzhalter zu aktivieren und die Präsentation zu speichern. Folienzahlen werden von der Präsentation erzeugt, sodass Sie nur deren Sichtbarkeit steuern müssen.

Verwenden Sie setFooterText und setDateTimeText, um den Text festzulegen, und verwenden Sie setFooterVisibility, setDateTimeVisibility und setSlideNumberVisibility, um die entsprechenden Platzhalter anzuzeigen.

Das folgende End-to-End-Beispiel wendet dieselbe Fußzeile, Datum/Zeit-Text und Folienzahl-Sichtbarkeit auf alle regulären Folien an:

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation("presentation.pptx");
try {
    for (let i = 0; i < presentation.getSlides().size(); i++) {
        const slide = presentation.getSlides().get_Item(i);
        const headerFooterManager = slide.getHeaderFooterManager();

        headerFooterManager.setFooterText("Company Confidential");
        headerFooterManager.setFooterVisibility(true);

        headerFooterManager.setDateTimeText("Date and time text");
        headerFooterManager.setDateTimeVisibility(true);

        headerFooterManager.setSlideNumberVisibility(true);
    }

    presentation.save("presentation_with_slide_footers.pptx", slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Wenn Sie nur eine Folie aktualisieren müssen, greifen Sie über die Methode getSlides direkt auf diese Folie zu, anstatt die gesamte Sammlung zu durchlaufen.

Kopf- und Fußzeilen im Notiz-Master festlegen

Der Notiz-Master definiert ein gemeinsames Format und das Platzhalter-Verhalten für Notizseiten. Verwenden Sie die Klasse MasterNotesSlideHeaderFooterManager, wenn Sie nur den Notiz-Master selbst ändern möchten.

Das folgende Beispiel legt Kopf-, Fußzeilen- und Datum/Zeit-Text im Notiz-Master fest und macht alle unterstützten Platzhalter auf diesem Master sichtbar:

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation("presentation.pptx");
try {
    const masterNotesSlide = presentation.getMasterNotesSlideManager().getMasterNotesSlide();

    if (masterNotesSlide !== null) {
        const headerFooterManager = masterNotesSlide.getHeaderFooterManager();

        headerFooterManager.setHeaderText("Notes header");
        headerFooterManager.setHeaderVisibility(true);

        headerFooterManager.setFooterText("Notes footer");
        headerFooterManager.setFooterVisibility(true);

        headerFooterManager.setDateTimeText("Date and time text");
        headerFooterManager.setDateTimeVisibility(true);

        headerFooterManager.setSlideNumberVisibility(true);
    }

    presentation.save("presentation_with_notes_master_footers.pptx", slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Die Methode getMasterNotesSlide liefert null, wenn die Präsentation keinen Notiz-Master enthält.

Notiz-Master-Einstellungen auf untergeordnete Notiz-Folien anwenden

Ein Notiz-Master kann Kopf- und Fußzeileneinstellungen sowohl auf sich selbst als auch auf alle abhängigen Notiz-Folien anwenden. Verwenden Sie die speziellen Propagations-Methoden der Klasse MasterNotesSlideHeaderFooterManager, wenn dieselben Einstellungen über die gesamte Notiz-Hierarchie hinweg gelten sollen.

Zum Beispiel aktualisieren setHeaderAndChildHeadersText und setHeaderAndChildHeadersVisibility die Kopfzeile des Notiz-Masters und alle untergeordneten Kopfzeilen. Entsprechende Methoden stehen für Fußzeilen, Datum/Zeit und Folienzahlen zur Verfügung.

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation("presentation.pptx");
try {
    const masterNotesSlide = presentation.getMasterNotesSlideManager().getMasterNotesSlide();

    if (masterNotesSlide !== null) {
        const headerFooterManager = masterNotesSlide.getHeaderFooterManager();

        headerFooterManager.setHeaderAndChildHeadersText("Notes header");
        headerFooterManager.setHeaderAndChildHeadersVisibility(true);

        headerFooterManager.setFooterAndChildFootersText("Notes footer");
        headerFooterManager.setFooterAndChildFootersVisibility(true);

        headerFooterManager.setDateTimeAndChildDateTimesText("Date and time text");
        headerFooterManager.setDateTimeAndChildDateTimesVisibility(true);

        headerFooterManager.setSlideNumberAndChildSlideNumbersVisibility(true);
    }

    presentation.save("presentation_with_child_notes_footers.pptx", slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Die oben verwendeten Propagations-Methoden sind setFooterAndChildFootersText, setFooterAndChildFootersVisibility, setDateTimeAndChildDateTimesText, setDateTimeAndChildDateTimesVisibility und setSlideNumberAndChildSlideNumbersVisibility.

Kopf- und Fußzeilen auf einer einzelnen Notiz-Folie festlegen

Eine Notizfolie gehört zu einer bestimmten regulären Folie. Verwenden Sie deren Klasse NotesSlideHeaderFooterManager, wenn Sie nur diese Notizseite anpassen möchten.

Die Methode addNotesSlide gibt die Notizfolie für die aktuelle Folie zurück und erstellt sie, falls sie noch nicht existiert. Das folgende Beispiel konfiguriert die Notizseite, die mit der ersten Präsentationsfolie verknüpft ist:

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation("presentation.pptx");
try {
    const slide = presentation.getSlides().get_Item(0);
    const headerFooterManager = slide.getNotesSlideManager().addNotesSlide().getHeaderFooterManager();

    headerFooterManager.setHeaderText("Header for the first notes page");
    headerFooterManager.setHeaderVisibility(true);

    headerFooterManager.setFooterText("Footer for the first notes page");
    headerFooterManager.setFooterVisibility(true);

    headerFooterManager.setDateTimeText("Date and time text");
    headerFooterManager.setDateTimeVisibility(true);

    headerFooterManager.setSlideNumberVisibility(true);

    presentation.save("presentation_with_custom_notes_footers.pptx", slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Wenn Sie zunächst Einstellungen vom Notiz-Master propagieren und anschließend eine einzelne Notizfolie ändern, ermöglichen Ihnen die späteren Folien-spezifischen Einstellungen, diese Notizseite unabhängig zu bearbeiten.

Kopf- und Fußzeilen im Handout-Master festlegen

Handout-Seiten verwenden den Handout-Master für ihre Kopf-, Fußzeilen-, Datum/Zeit- und Seitenzahl-Platzhalter. Im Gegensatz zu Notizseiten werden Handout-Einstellungen über den Handout-Master und nicht über einzelne Handout-Folien verwaltet.

Verwenden Sie getMasterHandoutSlide, um auf den Handout-Master zuzugreifen. Falls er nicht vorhanden ist, rufen Sie setDefaultMasterHandoutSlide auf, um den Standard-Handout-Master zu erstellen.

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation("presentation.pptx");
try {
    let masterHandoutSlide = presentation.getMasterHandoutSlideManager().getMasterHandoutSlide();

    if (masterHandoutSlide === null) {
        masterHandoutSlide = presentation.getMasterHandoutSlideManager().setDefaultMasterHandoutSlide();
    }

    if (masterHandoutSlide !== null) {
        const headerFooterManager = masterHandoutSlide.getHeaderFooterManager();

        headerFooterManager.setHeaderText("Handout header");
        headerFooterManager.setHeaderVisibility(true);

        headerFooterManager.setFooterText("Handout footer");
        headerFooterManager.setFooterVisibility(true);

        headerFooterManager.setDateTimeText("Date and time text");
        headerFooterManager.setDateTimeVisibility(true);

        headerFooterManager.setSlideNumberVisibility(true);
    }

    presentation.save("presentation_with_handout_footers.pptx", slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Geltungsbereich und Vererbung verstehen

Wählen Sie den Kopf-/Fußzeilen-Manager, der dem gewünschten Geltungsbereich entspricht:

Verwenden Sie die Propagation von einem Master- oder Layout-Manager, wenn dieselbe Einstellung in der gesamten Hierarchie gelten soll. Nutzen Sie einen einzelnen Folien- oder Notiz-Folien-Manager, wenn Sie eine lokale Einstellung für eine Seite benötigen.

FAQ

Kann ich einer regulären Folie eine Kopfzeile hinzufügen?

Nein. PowerPoint definiert keinen Kopfzeilen-Platzhalter für reguläre Folien. Auf regulären Folien verwenden Sie die Fußzeilen-, Datum/Zeit- und Folienzahl-Platzhalter. Kopfzeilen-Platzhalter sind auf Notizseiten und Handouts verfügbar.

Was ist, wenn ein Fußzeilen-, Datum/Zeit- oder Folienzahl-Platzhalter nicht sichtbar ist?

Verwenden Sie den entsprechenden Kopf-/Fußzeilen-Manager, um dessen Sichtbarkeit zu prüfen und bei Bedarf zu aktivieren. Zum Beispiel gibt isFooterVisible an, ob ein Fußzeilen-Platzhalter vorhanden ist, und setFooterVisibility ändert dessen Sichtbarkeit.

Wie beginne ich die Foliennummerierung mit einem anderen Wert als 1?

Rufen Sie die Methode setFirstSlideNumber der Präsentation auf. Die Folienzahl-Platzhalter verwenden dann die aktualisierte Nummerierungssequenz.

Was passiert mit Kopf- und Fußzeilen beim Exportieren in PDF, Bilder oder HTML?

Sichtbare Kopf- und Fußzeilen-Elemente werden zusammen mit dem restlichen Präsentationsinhalt im Ausgabeformat gerendert. Ihr Erscheinungsbild hängt vom zu exportierenden Seitentyp und den entsprechenden Platzhalter-Sichtbarkeitseinstellungen ab.