Folienmaster

Was ist ein Folienmaster in PowerPoint

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

Ein Folienmaster ist nützlich, da er es ermöglicht, das Aussehen aller Präsentationsfolien gleichzeitig zu ändern. Aspose.Slides unterstützt den Folienmaster-Mechanismus von PowerPoint.

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

Dies sind grundlegende Folienmaster-Operationen:

  • Erstellen oder Ändern eines Folienmasters.
  • Anwenden von Folienmaster auf Präsentationsfolien.
  • Ändern des Folienmaster-Hintergrunds.
  • Hinzufügen eines Bildes, Platzhalters, SmartArt usw. zum Folienmaster.

Dies sind fortgeschrittenere Operationen mit Folienmaster:

  • Vergleichen von Folienmastern.
  • Zusammenführen von Folienmastern.
  • Anwenden mehrerer Folienmaster.
  • Kopieren einer Folie mit Folienmaster in eine andere Präsentation.
  • Finden von doppelten Folienmastern in Präsentationen.
  • Setzen des Folienmasters als Standardansicht der Präsentation.

Wie wird der Folienmaster angewendet

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

  • 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 auf unterschiedliche Weise zu gestalten.

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

Das Presentation Objekt von Aspose.Slides enthält die get_Masters() Liste des IMasterSlideCollection Typs, 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() und InsertClone() Methoden. Diese Methoden sind von der grundlegenden Folienklonfunktion abgeleitet. Wenn man jedoch mit Folienmastern arbeitet, ermöglichen diese Methoden die Implementierung komplizierter Setups.

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

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

Das Prinzip ist dasselbe für PowerPoint und Aspose.Slides. In PowerPoint können Sie beispielsweise, wenn Sie eine neue Präsentation hinzufügen, 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 gleiche Aufgabe mit der AddClone() Methode der Presentation Klasse ausführen.

Folienmaster in der Folienhierarchie

Die Verwendung von Folienlayouts mit Folienmastern ermöglicht maximale Flexibilität. Ein Folienlayout erlaubt es Ihnen, alle gleichen Stile wie der Folienmaster (Hintergrund, Schriftarten, Formen usw.) festzulegen. Wenn jedoch mehrere Folienlayouts auf einem Folienmaster kombiniert werden, wird ein neuer Stil erstellt. Wenn Sie ein Folienlayout auf eine einzelne Folie anwenden, können Sie ihren Stil von dem, der vom Folienmaster angewendet wurde, ändern.

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

todo:image_alt_text

Jedes IMasterSlide Objekt hat eine get_LayoutSlides() Eigenschaft mit einer Liste von Folienlayouts. Ein Slide Typ hat eine get_LayoutSlide() Eigenschaft mit einem Verweis auf ein Folienlayout, das auf die Folie angewendet wurde. 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 Kern Eigenschaften des MasterSlide.

Methoden des Folienmasters:

  • GetDependingSlides - Alle Folien abrufen, die vom Folienmaster abhängen.
  • ApplyExternalThemeToDependingSlides - Ermöglicht die Erstellung eines neuen Folienmasters basierend auf dem aktuellen Folienmaster und einem neuen Thema. 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 auf folgende Weise zugreifen:

System::SharedPtr<IMasterSlide> master = pres->get_Masters()->idx_get(0);

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

Bild zum Folienmaster hinzufügen

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

Zum Beispiel können Sie das Logo Ihres Unternehmens und einige Bilder auf dem Folienmaster platzieren und dann zum Folienbearbeitungsmodus zurückkehren. Sie sollten das Bild auf jeder Folie sehen.

todo:image_alt_text

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

System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>();

System::SharedPtr<IPPImage> image = pres->get_Images()->AddImage(System::IO::File::ReadAllBytes(u"image.png"));
pres->get_Master(0)->get_Shapes()->AddPictureFrame(ShapeType::Rectangle, 10.0f, 10.0f, 100.0f, 100.0f, image);

pres->Save(u"pres.pptx", SaveFormat::Pptx);

Platzhalter zum Folienmaster hinzufügen

Diese Textfelder sind standardmäßige Platzhalter auf einem Folienmaster:

  • Klicken Sie hier, um den Titelstil des Masters zu bearbeiten

  • Bearbeiten Sie die Textstile des Masters

  • 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

Lassen Sie uns ein komplizierteres Beispiel für Platzhalter mit Aspose.Slides betrachten. Betrachten Sie eine Folie mit Platzhaltern, die vom Folienmaster abgeleitet sind:

todo:image_alt_text

Wir möchten die Formatierung von Titel und Untertitel auf dem Folienmaster folgendermaßen ändern:

todo:image_alt_text

Zuerst rufen wir den Inhalt des Titelplatzhalters vom Folienmaster-Objekt ab und verwenden dann das PlaceHolder.FillFormat Feld:

System::SharedPtr<IAutoShape> FindPlaceholder(System::SharedPtr<IMasterSlide> master, PlaceholderType type)
{
    for (auto& shape : master->get_Shapes())
    {
        System::SharedPtr<IAutoShape> autoShape = System::AsCast<Aspose::Slides::IAutoShape>(shape);
        if (autoShape != nullptr)
        {
            if (autoShape->get_Placeholder()->get_Type() == type)
            {
                return autoShape;
            }
        }
    }
    return nullptr;
}

void Main()
{
    auto pres = System::MakeObject<Presentation>();
    System::SharedPtr<IMasterSlide> master = pres->get_Masters()->idx_get(0);
    System::SharedPtr<IAutoShape> placeHolder = FindPlaceholder(master, Aspose::Slides::PlaceholderType::Title);
    auto fillFormat = placeHolder->get_FillFormat();
    fillFormat->set_FillType(Aspose::Slides::FillType::Gradient);
    auto gradientFormat = fillFormat->get_GradientFormat();
    gradientFormat->set_GradientShape(Aspose::Slides::GradientShape::Linear);
    gradientFormat->get_GradientStops()->Add(0.0f, System::Drawing::Color::FromArgb(255, 0, 0));
    gradientFormat->get_GradientStops()->Add(255.0f, System::Drawing::Color::FromArgb(128, 0, 128));
    
    pres->Save(u"pres.pptx", Aspose::Slides::Export::SaveFormat::Pptx);
}

Der Titelstil und die Formatierung ändern sich für alle Folien, die auf dem Folienmaster basieren:

todo:image_alt_text

Hintergrund im Folienmaster ändern

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

auto pres = System::MakeObject<Presentation>();

auto master = pres->get_Masters()->idx_get(0);
auto background = master->get_Background();
background->set_Type(Aspose::Slides::BackgroundType::OwnBackground);
background->get_FillFormat()->set_FillType(Aspose::Slides::FillType::Solid);
background->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Green());
    
pres->Save(u"pres.pptx", Aspose::Slides::Export::SaveFormat::Pptx);

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 in sie übergebenen Folienmaster auf. Dieser C++-Code zeigt, wie man einen Folienmaster in eine andere Präsentation klont:

auto presSource = System::MakeObject<Presentation>();
auto presTarget = System::MakeObject<Presentation>();
    
auto master = presTarget->get_Masters()->AddClone(presSource->get_Masters()->idx_get(0));

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, Stil, Layouts und Formatierungsoptionen für Präsentationsfolien auf viele Arten einzurichten.

In PowerPoint können Sie neue Folienmaster und Layouts (aus dem “Folienmaster-Menü) wie folgt hinzufügen:

todo:image_alt_text

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

pres->get_Masters()->AddClone(pres->get_Masters()->idx_get(0));

Folienmaster vergleichen

Ein Folienmaster implementiert das IBaseSlide Interface, das die Equals() Methode enthält, die verwendet werden kann, um Folien zu vergleichen. Sie gibt true für Folienmaster zurück, die in Struktur und statischem Inhalt 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. den aktuellen Datumwert 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 diejenige, die angezeigt wird, wenn Sie eine Präsentation öffnen.

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

pres->get_ViewProperties()->set_LastView(Aspose::Slides::ViewType::SlideMasterView);

Nicht verwendeten Folienmaster entfernen

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

auto pres = System::MakeObject<Presentation>(u"pres.pptx");

LowCode::Compress::RemoveUnusedMasterSlides(pres);

pres->Save(u"pres-out.pptx", SaveFormat::Pptx);