Folienmaster

Was ist ein Folienmaster in PowerPoint

Ein Folienmaster ist eine Folienvorlage, die das Layout, Stile, Themen, Schriftarten, Hintergründe und andere Eigenschaften für Folien in einer Präsentation definiert. Wenn Sie eine Präsentation (oder eine Reihe von Präsentationen) im gleichen Stil und mit derselben Vorlage für Ihr Unternehmen erstellen möchten, können Sie einen Folienmaster verwenden.

Ein Folienmaster ist nützlich, weil er es Ihnen ermöglicht, das Erscheinungsbild aller Präsentationsfolien auf einmal festzulegen und zu ändern. Aspose.Slides unterstützt den Folienmaster-Mechanismus von PowerPoint.

VBA ermöglicht es Ihnen ebenfalls, einen Folienmaster zu manipulieren und die gleichen Operationen auszuführen, die in PowerPoint unterstützt werden: Hintergründe ändern, Formen hinzufügen, das Layout anpassen usw. Aspose.Slides bietet flexible Mechanismen, um Folienmaster zu verwenden und grundlegende Aufgaben mit ihnen auszuführen.

Dies sind grundlegende Operationen mit Folienmastern:

  • Folienmaster erstellen oder bearbeiten.
  • Folienmaster auf Präsentationsfolien anwenden.
  • Hintergrund des Folienmasters ändern.
  • Ein Bild, Platzhalter, Smart Art usw. zum Folienmaster hinzufügen.

Dies sind erweiterte Operationen mit Folienmastern:

  • Folienmaster vergleichen.
  • Folienmaster zusammenführen.
  • Mehrere Folienmaster anwenden.
  • Folie mit Folienmaster in eine andere Präsentation kopieren.
  • Duplikate von Folienmastern in Präsentationen finden.
  • Folienmaster als Standardansicht der Präsentation festlegen.

Wie wird der Folienmaster angewendet

Bevor Sie mit einem Folienmaster arbeiten, sollten Sie verstehen, wie sie in Präsentationen verwendet und auf Folien angewendet werden.

  • Jede Präsentation hat standardmäßig mindestens einen Folienmaster.
  • Eine Präsentation kann mehrere Folienmaster enthalten. Sie können mehrere Folienmaster hinzufügen und verwenden, um verschiedene Teile einer Präsentation unterschiedlich zu gestalten.

In Aspose.Slides wird ein Folienmaster durch den IMasterSlide Typ dargestellt.

Das Präsentation Objekt von Aspose.Slides enthält die getMasters Liste des Typs IMasterSlideCollection, die eine Liste aller Masterfolien enthält, die in einer Präsentation definiert sind.

Neben CRUD-Operationen enthält das IMasterSlideCollection Interface diese nützlichen Methoden: addClone(ILayoutSlide sourceLayout) und insertClone(int index, IMasterSlide sourceMaster) Methoden. Diese Methoden sind von der grundlegenden Folienklonfunktion erben. Wenn Sie jedoch mit Folienmastern arbeiten, ermöglichen Ihnen diese Methoden die Implementierung komplizierter Setups.

Wenn eine neue Folie zu einer Präsentation hinzugefügt wird, wird automatisch ein Folienmaster darauf angewendet. Der Folienmaster der vorherigen Folie wird standardmäßig ausgewählt.

Hinweis: Präsentationsfolien werden in der getSlides() Liste gespeichert, und jede neue Folie wird standardmäßig am Ende der Sammlung hinzugefügt. Wenn eine Präsentation einen einzigen Folienmaster enthält, wird dieser Folienmaster für alle neuen Folien ausgewählt. Dies ist der Grund, warum Sie den Folienmaster nicht für jede neue Folie definieren müssen, die Sie erstellen.

Das Prinzip ist für PowerPoint und Aspose.Slides dasselbe. Zum Beispiel, wenn Sie in PowerPoint eine neue Präsentation hinzufügen, können Sie einfach auf die untere Linie unter der letzten Folie klicken und dann wird eine neue Folie (mit dem Folienmaster der letzten Präsentation) erstellt:

todo:image_alt_text

In Aspose.Slides können Sie die äquivalente Aufgabe mit der addClone(ISlide sourceSlide) Methode unter der Präsentation Klasse ausführen.

Folienmaster in der Folienhierarchie

Die Verwendung von Folienlayouts mit Folienmaster ermöglicht maximale Flexibilität. Ein Folienlayout ermöglicht es Ihnen, all die gleichen Stile wie der Folienmaster (Hintergrund, Schriftarten, Formen usw.) festzulegen. Wenn mehrere Folienlayouts jedoch in einem Folienmaster kombiniert werden, wird ein neuer Stil erstellt. Wenn Sie einem einzelnen Folie ein Folienlayout anwenden, können Sie dessen Stil von dem, der vom Folienmaster angewendet wird, ändern.

Der Folienmaster hat Vorrang vor allen Setups: Folienmaster -> Folienlayout -> Folie:

todo:image_alt_text

Jedes IMasterSlide Objekt hat eine getLayoutSlides Eigenschaft mit einer Liste von Folienlayouts. Ein Folien Typ hat eine getLayoutSlide Eigenschaft mit einem Link zu einem Folienlayout, das auf die Folie angewendet wird. Die Interaktion zwischen einer Folie und dem Folienmaster erfolgt über ein Folienlayout.

Was ein Folienmaster umfasst

Um zu verstehen, wie ein Folienmaster geändert werden kann, müssen Sie seine Bestandteile kennen. Dies sind die grundlegenden Eigenschaften von MasterSlide.

Methoden des Folienmasters:

  • getDependingSlides - alle Folien abrufen, die vom Folienmaster abhängig sind.
  • applyExternalThemeToDependingSlides - ermöglicht es Ihnen, einen neuen Folienmaster basierend auf dem aktuellen Folienmaster und einem neuen Thema zu erstellen. Der neue Folienmaster wird dann auf alle abhängigen Folien angewendet.

Folienmaster abrufen

In PowerPoint kann der Folienmaster über das Menü Ansicht -> Folienmaster aufgerufen werden:

todo:image_alt_text

Mit Aspose.Slides können Sie auf einen Folienmaster folgendermaßen zugreifen:

Presentation pres = new Presentation();
try {
    // Zugriff auf den Master-Folien der Präsentation
    IMasterSlide masterSlide = pres.getMasters().get_Item(0);
} finally {
    pres.dispose();
}

Das IMasterSlide Interface stellt einen Folienmaster dar. Die Masters Eigenschaft (die sich auf den Typ IMasterSlideCollection bezieht) enthält eine Liste aller Folienmaster, die in der Präsentation definiert sind.

Bild zu Folienmaster hinzufügen

Wenn Sie ein Bild zu einem Folienmaster hinzufügen, wird dieses Bild auf allen Folien angezeigt, die von diesem Folienmaster abhängen.

Beispielsweise können Sie das Firmenlogo und einige Bilder auf dem Folienmaster platzieren und dann zurück in den Folienbearbeitungsmodus wechseln. Sie sollten das Bild auf jeder Folie sehen.

todo:image_alt_text

Sie können Bilder mit Aspose.Slides zu einem Folienmaster hinzufügen:

Presentation pres = new Presentation();
try {
    IPPImage picture;
    IImage image = Images.fromFile("image.png");
    try {
        picture = pres.getImages().addImage(image);
    } finally {
        if (image != null) image.dispose();
    }
    pres.getMasters().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, picture);

    pres.save("pres.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

Platzhalter zu Folienmaster hinzufügen

Diese Textfelder sind Standardplatzhalter auf einem Folienmaster:

  • Klicken Sie, um den Titelstil des Masters zu bearbeiten

  • Master-Textstile bearbeiten

  • Zweite Ebene

  • Dritte Ebene

    Sie erscheinen auch auf den Folien, die auf dem Folienmaster basieren. Sie können diese Platzhalter auf einem Folienmaster bearbeiten und die Änderungen werden automatisch auf die Folien angewendet.

In PowerPoint können Sie einen Platzhalter über den Pfad Folienmaster -> Platzhalter einfügen hinzufügen:

todo:image_alt_text

Betrachten wir ein komplizierteres Beispiel für Platzhalter mit Aspose.Slides. Betrachten Sie eine Folie mit Platzhaltern, die vom Folienmaster vorgegeben sind:

todo:image_alt_text

Wir möchten die Titel- und Untertitelformatierung auf dem Folienmaster folgendermaßen ändern:

todo:image_alt_text

Zuerst rufen wir den Inhalt des Titelplatzhalters vom Folienmasterobjekt ab und verwenden dann dasPlaceHolder.FillFormat Feld:

public static void main(String[] args) {
    Presentation pres = new Presentation();
    try {
        IMasterSlide master = pres.getMasters().get_Item(0);
        IAutoShape placeHolder = findPlaceholder(master, PlaceholderType.Title);
        placeHolder.getFillFormat().setFillType(FillType.Gradient);
        placeHolder.getFillFormat().getGradientFormat().setGradientShape(GradientShape.Linear);
        placeHolder.getFillFormat().getGradientFormat().getGradientStops().add(0, new Color(255, 0, 0));
        placeHolder.getFillFormat().getGradientFormat().getGradientStops().add(255, new Color(128, 0, 128));

        pres.save("pres.pptx", SaveFormat.Pptx);
    } finally {
        if (pres != null) pres.dispose();
    }
}

static IAutoShape findPlaceholder(IMasterSlide master, int type)
{
    for (IShape shape : master.getShapes())
    {
        IAutoShape autoShape = (IAutoShape) shape;
        if (autoShape != null)
        {
            if (autoShape.getPlaceholder().getType() == type)
            {
                return autoShape;
            }
        }
    }

    return null;
}

Der Titelstil und die Formatierung werden für alle Folien geändert, die auf dem Folienmaster basieren:

todo:image_alt_text

Hintergrund auf Folienmaster ändern

Wenn Sie die Hintergrundfarbe eines Folienmasters ändern, erhalten alle normalen Folien in der Präsentation die neue Farbe. Dieser Java-Code demonstriert die Operation:

Presentation pres = new Presentation();
try {
    IMasterSlide master = pres.getMasters().get_Item(0);
    master.getBackground().setType(BackgroundType.OwnBackground);
    master.getBackground().getFillFormat().setFillType(FillType.Solid);
    master.getBackground().getFillFormat().getSolidFillColor().setColor(Color.GREEN);

    pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Folienmaster in eine andere Präsentation klonen

Um einen Folienmaster in eine andere Präsentation zu klonen, rufen Sie die addClone Methode der Zielpräsentation zusammen mit einem Folienmaster auf, der an sie übergeben wird. Dieser Java-Code zeigt Ihnen, wie Sie einen Folienmaster in eine andere Präsentation klonen:

Presentation presSource = new Presentation();
Presentation presTarget = new Presentation();
try {
    IMasterSlide master = presTarget.getMasters().addClone(presSource.getMasters().get_Item(0));
} finally {
    if (presSource != null) presSource.dispose();
}

Mehrere Folienmaster zur Präsentation hinzufügen

Aspose.Slides ermöglicht es Ihnen, mehrere Folienmaster und Folienlayouts zu einer beliebigen Präsentation hinzuzufügen. Dies ermöglicht es Ihnen, Stile, Layouts und Formatierungsoptionen für Präsentationsfolien auf viele Arten einzurichten.

In PowerPoint können Sie auf diese Weise neue Folienmaster und Layouts (aus dem Menü “Folienmaster”) hinzufügen:

todo:image_alt_text

Mit Aspose.Slides können Sie einen neuen Folienmaster hinzufügen, indem Sie die addClone Methode aufrufen:

// Fügt einen neuen Master-Folien hinzu
IMasterSlide secondMasterSlide = pres.getMasters().addClone(masterSlide);

Folienmaster vergleichen

Ein Folienmaster implementiert das IBaseSlide Interface, das die equals Methode enthält, die verwendet werden kann, um Folien zu vergleichen. Es gibt true zurück für Folienmaster, die in Struktur und statischen Inhalten identisch sind.

Zwei Folienmaster sind gleich, wenn ihre Formen, Stile, Texte, Animationen und andere Einstellungen usw. gleich sind. Der Vergleich berücksichtigt keine eindeutigen Identifikatorwerte (z. B. SlideId) und dynamischen Inhalt (z. B. aktuellen Datumswert im Datumsplatzhalter).

Folienmaster als Standardansicht der Präsentation festlegen

Aspose.Slides ermöglicht es Ihnen, einen Folienmaster als Standardansicht für eine Präsentation festzulegen. Die Standardansicht ist das, was Sie zuerst sehen, wenn Sie eine Präsentation öffnen.

Dieser Code zeigt Ihnen, wie Sie einen Folienmaster als Standardansicht einer Präsentation in Java festlegen:

// Instanziiert eine Präsentationsklasse, die die Präsentationsdatei darstellt
Presentation presentation = new Presentation();
try {
    // Setzt die Standardansicht auf SlideMasterView
    presentation.getViewProperties().setLastView(ViewType.SlideMasterView);

    // Speichert die Präsentation
    presentation.save("PresView.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Unerwünschten Folienmaster entfernen

Aspose.Slides bietet die removeUnusedMasterSlides Methode (aus der Compress Klasse), um unerwünschte und unbenutzte Folienmaster zu löschen. Dieser Java-Code zeigt Ihnen, wie Sie einen Folienmaster aus einer PowerPoint-Präsentation entfernen:

Presentation pres = new Presentation("pres.pptx");
 try {
     Compress.removeUnusedMasterSlides(pres);

     pres.save("pres-out.pptx", SaveFormat.Pptx);
 } finally {
     if (pres != null) pres.dispose();
 }